ps命令的参数非常多 通常只需要记住理解主要的几个即可
Linux系统中会运行各种各样的进程,如果要对进程进行监控,首先必须了解当前进程的情况,也就是需要查看当前进程。ps命令就是最基本的进程查看命令,使用该命令可以看到有哪些进程正在运行,并且可以看到进程的运行状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到。ps是显示执行命令瞬间进程的状态,并不动态连续,如果想对进程进行实时监控应该用top命令。
ps命令的格式支持 3种不同类型的命令行参数:
1、Unix风格的参数,前面加"-"
2、BSD风格的参数,前面不加"-"
3、GNU风格的长参数,前面加"--"
参数 | 描述 |
-e | 显示所有进程 |
-l | 显示长列表 |
-f | 显示完整格式的输出 |
[user1@Centos8_test ~]$ ps -ef |head -5 UID PID PPID C STIME TTY TIME CMD root 1 0 0 01:08 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 17 root 2 0 0 01:08 ? 00:00:00 [kthreadd] root 3 2 0 01:08 ? 00:00:00 [rcu_gp] root 4 2 0 01:08 ? 00:00:00 [rcu_par_gp] [user1@Centos8_test ~]$ ps -efl |head -5 F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 80 0 - 61590 - 01:08 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 17 1 S root 2 0 0 80 0 - 0 - 01:08 ? 00:00:00 [kthreadd] 1 I root 3 2 0 60 -20 - 0 - 01:08 ? 00:00:00 [rcu_gp] 1 I root 4 2 0 60 -20 - 0 - 01:08 ? 00:00:00 [rcu_par_gp]
参数:
UID:启动这些进程的用户。
PID:进程的进程ID。
PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
C:进程生命周期中的CPU利用率。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。
TIME:运行进程需要的累计CPU时间。
CMD:启动的程序名称。
加上 l 参数之后 会产生一个长格式输出:
F:内核分配给进程的系统标记。
S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,进程已结束但父进程已不存在;T代表停止)。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI:谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:进程休眠的内核函数的地址。
参数 | 描述 |
a | 显示跟任意终端关联的所有进程 |
u | 采用基于用户的格式显示 |