一,Linux核心进程管理命令 1.1 ps:查看进程 1.1.1 命令解释
功能说明
ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片。如果想要动态地显示进程,就需要使用top命令,该命令类似于把手机切换成录像模式。
选项说明
参数选项 解释说明(带@的为重点)-a 显示所有终端下执行的进程
a 显示与终端相关的所有进程,包含每个进程的完整路径@
x 显示与终端无关的所有进程@
u 显示进程的用户信息@
-u 显示指定用户相关的进程信息
-e 显示所有进程@
-f 额外显示UID,PPID,C与STIME栏位@
f 显示进程树
-H 显示进程树
-l 以详细的格式来显示进程的状况
-o 自定义输出指定的字段,以逗号分隔
-sort key key表示为指定字段排序,默认升序,+key升序,-key降序
1.1.2 使用范例
(1)ps 命令不接任何参数
[root@Mr_chen ~]# ps PID TTY TIME CMD 1135 pts/0 00:00:00 bash 1152 pts/0 00:00:00 bash 1162 pts/0 00:00:00 bash 1173 pts/0 00:00:00 bash 1182 pts/0 00:00:00 ps默认情况下,ps命令不接任何参数时,输出的是使用者当前所在终端(窗口)的进程,其输出结果中的各项说明如下。
[x] :PID是进程的标识号
[x] :TTY是进程所属的终端控制台
[x] :TIME列是进程所使用的总的CPU时间
[x] :CMD列是正在执行的命令行
(2)ps -ef
[root@Mr_chen ~]# ps -ef # -e显示所有进程,-f格外显示UID,PPID,C与STIME栏位 UID PID PPID C STIME TTY TIME CMD root 1 0 0 15:00 ? 00:00:00 /sbin/init root 2 0 0 15:00 ? 00:00:00 [kthreadd] root 3 2 0 15:00 ? 00:00:00 [migration/0] root 4 2 0 15:00 ? 00:00:00 [ksoftirqd/0] root 5 2 0 15:00 ? 00:00:00 [migration/0] root 6 2 0 15:00 ? 00:00:00 [watchdog/0] root 7 2 0 15:00 ? 00:00:00 [events/0] root 8 2 0 15:00 ? 00:00:00 [cgroup] root 9 2 0 15:00 ? 00:00:00 [khelper] root 10 2 0 15:00 ? 00:00:00 [netns] root 11 2 0 15:00 ? 00:00:00 [async/mgr] root 12 2 0 15:00 ? 00:00:00 [pm] root 13 2 0 15:00 ? 00:00:00 [sync_supers] root 14 2 0 15:00 ? 00:00:00 [bdi-default] root 15 2 0 15:00 ? 00:00:00 [kintegrityd/0] root 16 2 0 15:00 ? 00:00:00 [kblockd/0] root 17 2 0 15:00 ? 00:00:00 [kacpid]输出信息中各列说明如下
[x] UID:进程被该UID所拥有
[x] PID:进程的标识号
[x] PPID:进程的父进程的标识号
[x] C:CPU使用的资源百分比
[x] STIME:进程开始的时间
[x] TTY:该进程是在哪个终端机上面运作,若与终端机无关,则显示“?”,另外,tty1-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程。
[x] TIME:进程所使用的总的CPU时间
[x] CMD:正在执行的命令行
(3)ps aux
[root@Mr_chen ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 19232 1488 ? Ss 15:00 0:00 /sbin/init root 2 0.0 0.0 0 0 ? S 15:00 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 15:00 0:00 [migration/0] root 4 0.0 0.0 0 0 ? S 15:00 0:00 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S 15:00 0:00 [migration/0] root 6 0.0 0.0 0 0 ? S 15:00 0:00 [watchdog/0] root 7 0.0 0.0 0 0 ? S 15:00 0:00 [events/0]输出信息中各列的说明如下
[x] USER:该进程属于的用户。
[x] PID:该进程的进程号。
[x] %CPU:该进程使用掉的CPU资源百分比。
[x] %MEM:该进程所占用的物理内存百分比。
[x] VSZ:该进程使用掉的虚拟内存量(单位Kbytes)
[x] RSS:该进程占用的固定的内存量(单位Kbytes)
[x] TTY:该进程是在哪个终端机上面运作的,若与终端机无关,则显示“?”,另外,tty1-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程。
[x] STAT:该进程目前的状态,主要的状态包括如下几种。
R:正在运行,或者是可以运行。
S:正在终端睡眠中,可以由某些信号唤醒。
D:不可中断睡眠。
T:正在侦测或者是停止了。
Z:已经终止,但是其父进程无法正常终止它,从而变成zombie(僵尸)进程的状态
+:前台进程。
l:多线程进程。
N:低优先级进程。
<:高优先级进程。
s:进程领导者。
L:已将页面锁定到内存中。
[x] START:该进程被触发启动的时间
[x] TIME:该进程实际使用CPU运作的时间
[x] COMMAND:该进程的实际命令。
(4)显示指定用户的相关进程信息
[root@Mr_chen ~]# ps -u yunjisuan PID TTY TIME CMD 1315 pts/1 00:00:00 bash 1335 pts/1 00:00:00 vim