1
.什么是进程?
进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。
也可理解为进程为用户的代理;
2
.
进程的组成:如图
3
.
/proc
下
每一个数据目录都是一个进程,目录名就是进程号
PID
的范围:
1-32767
Init
是进程树的根,即一般进程源自
init
,
init
是他们的父进程。
4
.
Cpu
的功能:
内存管理
进程管理
硬件管理
CPU
管理
à
time slice
时间片
文件系统管理
5
.进程分为
:
-
用户进程
à
通过
shell
打开的进程又成为终端进程,跟终端有关
-
守护进程
在启动操作系统时就已经启动。无论是否登录,跟
terminal
无关
(
daemon
)
6
.
ps
命令
a
.
显示所有跟终端有关的进程,
不显示守护进程
x
.
显示跟终端无关的进程
所有的守护进程
ax.
显示所有进程
= -e
u .
以用户为导向显示
ps
信息
o
.指定用户想要格式
%cpu
占用物理内存的百分比
不包括虚拟内存的
%Mem
进程占用物理内存的百分比
PROCESS STATE CODES
(进程状态)
D Uninterruptible sleep (usually IO)
(不可中断睡眠)
R Running or runnable (on run queue)
(准备就绪待运行,一旦有时间即可运行)
S Interruptible sleep (waiting for an event to complete)
(可中断睡眠)
T Stopped, either by a job control signal or because it is being traced.
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z Defunct ("zombie") process, terminated but not reaped by its parent.
(僵尸进程)
僵尸进程的产生:父进程突然宕掉,还没来得及收回其子进程,那么这些子进程,就变成僵尸进程,重启机器可除去。
修饰进程状态:
<
表示高优先级
N
表示低优先级
L
表示锁定
VSZ
虚拟内存集
占用虚拟内存大小
RSS
物理内存
占用物理内存大小
TTY
中
?表示守护进程
TIME
累计获得的获得
CPU
的运行时间
COMMAND
哪一个命令发起的子进程
l
可以自己设定显示方式
Ps aux |grep X
显示跟
xserver
有关的进程
Ps axo pid,command
显示指定列
7
.
Pgrep
命令
-U root
显示跟root 有关的进程号
-1
指定开启进程命令中包含的字符
如:[root@zhangjixin ~]# pgrep -l 2
4984 gconfd-2
5101 mixer_applet2
-d
指定分割符
-v
反向显示
8
Signals
● Most fundamental inter-process
■
Signal 15, TERM (default) - Terminate cleanly (
优雅的终止
)
■
Signal 9, KILL - Terminate immediately
(直接砍头,毫无犹豫)
■
Signal 1, HUP - Re-read configuration files
■
man 7 signal
shows complete list
Kill �Cl
列出所有进程号
默认时候为kill -15 优雅的终止
-9
为强行结束 直接砍头
Killall
后面跟进程名 终止以某个名字命名的所有进程
-r
支持正则表达式
-i
交互模式
pkill
kill
与
killall
kill+PID
killall +
进程名