ps命令
功能说明
ps命令用于系统进程在瞬间的运行动态。用法如下:
ps [选项] [-s (间隔秒数)]
常用参数
选项
含义
a
显示所有用户的进程,包含每个程序的完整路径
-x
显示所有系统程序,包括哪此没有终端的程序
-u
显示使用都的名称和起始时间
-f
详细显示程序执行的路径群
-c
只显示进程的名称,不显示进程的完整路径
-e
将除内核进程以外所有进程的信息写到标准输出(等同于-A)
常用组合:
ps aux 最常用 #列出目前所有的正在内存当中的程序
ps -ef #显示所有进程信息,连同命令行
ps axjf #以树形结构显示进程
示例
使用-e参数,显示所有进程(等同于-A)
[root@c7 ~]# ps -e | less #由于行多,使用less来逐页显示
PID TTY TIME CMD
1 ? 00:00:04 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:03 ksoftirqd/0
5 ? 00:00:00 kworker/0:0H
7 ? 00:00:00 migration/0
8 ? 00:00:00 rcu_bh
9 ? 00:00:00 rcuob/0
10 ? 00:00:00 rcuob/1
......略
使用-ef参数,显示所有进程信息,连同命令行
[root@c7 ~]# ps -ef | less
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 11月16 ? 00:00:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
root 2 0 0 11月16 ? 00:00:00 [kthreadd]
root 3 2 0 11月16 ? 00:00:03 [ksoftirqd/0]
root 5 2 0 11月16 ? 00:00:00 [kworker/0:0H]
root 7 2 0 11月16 ? 00:00:00 [migration/0]
.......略
检查Apache进程
[root@c7 ~]# ps -ef | grep httpd
说明:
UID 运行进程的用户
PID 是进程的标识号
PPID 是父进程的标识号
C CPU调度情况
STIME 进程启动的时间
TTY 是进程所属的终端控制台
TIME 列是进程所使用的总的CPU时间
CMD 启动进程的命令
使用aux参数,显示目前所有正在内存中的程序
[root@c7 ~]# ps aux | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 57564 7472 ? Ss 11月16 0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
root 2 0.0 0.0 0 0 ? S 11月16 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 11月16 0:03 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 11月16 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 11月16 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 11月16 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 11月16 0:00 [rcuob/0]
[root@rsync01 ~]# ps aux | egrep '(apache|nagios)' #同时查询apache和nagios程序的进程
nagios 1125 0.0 0.0 39244 1372 ? Ss Nov18 0:37 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
apache 4543 0.0 0.3 254976 7524 ? S Nov20 0:00 /usr/sbin/httpd
apache 4544 0.0 0.3 254824 6552 ? S Nov20 0:00 /usr/sbin/httpd
apache 4545 0.0 0.4 255568 7648 ? S Nov20 0:00 /usr/sbin/httpd
apache 4546 0.0 0.3 254824 6548 ? S Nov20 0:00 /usr/sbin/httpd
apache 4547 0.0 0.4 256088 9088 ? S Nov20 0:00 /usr/sbin/httpd
apache 4548 0.0 0.3 254824 6560 ? S Nov20 0:00 /usr/sbin/httpd
apache 4550 0.0 0.4 256088 9044 ? S Nov20 0:00 /usr/sbin/httpd
apache 4552 0.0 0.4 254976 7808 ? S Nov20 0:00 /usr/sbin/httpd
root 7545 0.0 0.0 4152 700 pts/1 R+ 13:53 0:00 egrep (apache|nagios)
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
使用pstree,以树状显示进程
[root@rsync01 ~]# pstree
init-+-auditd---{auditd}
|-cachefilesd
|-crond
|-httpd---8*[httpd]
|-master-+-cleanup
| |-local
| |-pickup
| `-qmgr
|-6*[mingetty]
|-nrpe
|-rsyslogd---3*[{rsyslogd}]
|-sshd---bash---pstree
|-sshd
`-udevd---2*[udevd]
学习自:
高俊峰《循序渐进Linux》
<a href="http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html" target="_blank">http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html</a>
本文转自cix123 51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1874994,如需转载请自行联系原作者