Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
ps aux
a 选项表示显示所有进程,x 选项表示同时显示没有控制终端的进程(TTY 显示为 ?),u 选项表示使用基于用户的信息输出格式
[root@docker-serve ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 43584 3660 ? Ss 2020 15:21 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 2020 0:07 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 2020 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 2020 8:32 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S 2020 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 2020 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? R 2020 31:41 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< 2020 0:00 [lru-add-drain]
root 11 0.0 0.0 0 0 ? S 2020 1:10 [watchdog/0]
root 13 0.0 0.0 0 0 ? S 2020 0:00 [kdevtmpfs]
USER 进程属主的用户名
PID 进程 ID
%CPU 进程占用的 CPU 百分比
%MEM 进程使用的内存百分比
VSZ 进程的虚拟大小
RSS 驻留内存大小(内存中的页数)
TTY 控制终端 ID
STAT 进程当前的状态:
R = Runnable
D = In uninterruptible sleep
S = Sleeping(<20s)
T = Traced or stopped
Z = Zombie
额外标记:
W = Process is swapped out
< = 进程有相对于平时更高的优先级
N = 进程有相对于平时更低的优先级
L = Some pages are locked in core
s = Process is a session leader
TIME 进程已经消耗的 CPU 时间
COMMAND 进程的命令和命令选项
ps lax
选项表示以详细的格式输出进程信息。输出包含了父进程 ID(PPID)、nice 值(NI)还有进程正在等待的资源类型(WCHAN)等。
root@docker-serve ~]# ps alx
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 1 0 20 0 43584 3660 ep_pol Ss ? 15:21 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 0 2 0 20 0 0 0 kthrea S ? 0:07 [kthreadd]
1 0 4 2 0 -20 0 0 worker S< ? 0:00 [kworker/0:0H]
1 0 6 2 20 0 0 0 smpboo S ? 8:32 [ksoftirqd/0]
1 0 7 2 -100 - 0 0 smpboo S ? 0:00 [migration/0]
1 0 8 2 20 0 0 0 rcu_gp S ? 0:00 [rcu_bh]
1 0 9 2 20 0 0 0 - R ? 31:41 [rcu_sched]
1 0 10 2 0 -20 0 0 rescue S< ? 0:00 [lru-add-drain]
5 0 11 2 -100 - 0 0 smpboo S ? 1:10 [watchdog/0]
ps axjf
命令能够以树状结构显示各进程间的层级关系 f 选项表示用 ASCII 字符显示树状结构,表达程序间的相互关系。
root@docker-serve ~]# ps axjf
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
1 1177 1177 1177 ? -1 Ss 0 16:25 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
1177 12779 1177 1177 ? -1 S 1001 0:22 \_ php-fpm: pool www
1177 13183 1177 1177 ? -1 S 1001 0:21 \_ php-fpm: pool www
1177 3267 1177 1177 ? -1 S 1001 0:10 \_ php-fpm: pool www
1 5660 5660 5660 ? -1 Ss 0 0:00 nginx: master process /usr/local/nginx/sbin/nginx
5660 5662 5660 5660 ? -1 S 1001 6:33 \_ nginx: worker process