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》