ps命令
描述
静态监控进程(程序被触发后 , 执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中 , 操作系统并给予这个内存内的单元一个识别码 (Process ID,PID), 可以说 , 进程就是一个正在运行中的程序,即cpu未完成的工作)。
用法
ps [options]1
选项
a ## 关于当前环境的所有进程
x | -A ## 列出所有的进程
f ## 显示进程从属关系
e ## 显示进程调用环境工具的详细信息
l ## 长列表显示进程的详细信息
u ## 显示进程的用户信息
-a ## 显示shell前台运行命令的进程,但不保函shell本身
-w ## 显示加宽可以显示较多的信息
-au ## 显示较详细的信息
-aux ## 显示所有包含其他使用者的进程
-e ## 显示所有运行在系统上的进程
-f ## 扩展了输出,这些扩展的列包含了有用的信息
-ef ## 全格式显示进程信息
Linux系统使用的GNU ps命令支持3种不同类型的命令行参数
BSD 风格的参数,前面不加破折线
Unix 风格的参数,前面加单破折线
GNU 风格的长参数,前面加双破折线
R (Running): 该程序正在运行中
S (Sleep): 该程序目前正在睡眠状态 (idle), 但可以被唤醒(signal)
D 不可被唤醒的睡眠状态 , 通常进程可能在等待 I/O 的情况
T 停止状态 (stop), 可能是在工作控制 ( 背景暂停 ) 或除错(traced) 状态
Z (Zombie): 僵尸状态 , 程序已经终止但却无法被移除至内存外
STAT进程状态(第二个字符)
L ## 内存中有(页面)锁定空间
N ## 优先级低
< ## 优先级高
+ ## 前台运行
s ## 该进程是控制进程(顶级进程)
l ## 该进程是多线程的
示例
1、 ps l 长格式输出
[root@test ~]# ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 620 608 20 0 160724 17792 poll_s Ss+ tty1 0:00 /usr/bin/Xorg :0 –
4 0 1034 947 20 0 116144 2796 wait Ss pts/0 0:00 -bash
1 0 1078 1 20 0 16040 564 poll_s S pts/0 0:00 dbus-launch –auto
0 0 3494 1034 20 0 121260 984 – R+ pts/0 0:00 ps l
参数解释
F ## 内核分配给进程的系统标记
UID ## 启动这些进程的用户
PID ## 进程的进程ID
PPID ## 父进程的进程号(如果该进程是由另一个进程启动的)
PRI ## 进程的优先级(越大的数字代表越低的优先级)
NI ## 谦让度值用来参与决定优先级
VSZ ## 进程在内存中的大小,以千字节(KB)为单位
RSS ## 进程在未换出时占用的物理内存
WCHAN ## 进程休眠的内核函数的地址
STAT ## 当前进程状态的双字符状态码
TTY ## 进程启动时的终端设备
TIME ## 运行进程需要的累计CPU时间
COMMAND ## 启动程序名称12345678910111213
2、 ps ax 输出
[root@test ~]# ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /usr/lib/systemd/systemd –switched-root –system –deserial
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
5 ? S< 0:00 [kworker/0:0H]
10 ? R 0:00 [rcu_sched]
11 ? S 0:00 [rcuos/0]
12 ? S 0:00 [watchdog/0]
… … … … …
995 ? Ssl 0:00 /usr/bin/gnome-session –autostart /usr/share/gdm/greeter/au
998 ? S 0:00 /usr/bin/dbus-launch –exit-with-session /usr/bin/gnome-sess
1034 pts/0 Ss 0:00 -bash
1048 ? Ss 0:00 /bin/dbus-daemon –fork –print-pid 4 –print-address 6 –se
1053 ? Sl 0:00 /usr/libexec/at-spi-bus-launcher
1070 ? S 0:00 /bin/dbus-daemon –config-file=/etc/at-spi2/accessibility.co
1075 ? Sl 0:00 /usr/libexec/at-spi2-registryd –use-gnome-session
1078 pts/0 S 0:00 dbus-launch –autolaunch=946cb0e817ea4adb916183df8c4fc817 —
… … … … … …
4658 ? S 0:00 [kworker/0:1]
4898 ? R 0:00 [kworker/0:0]
4996 ? S 0:00 sleep 60
5005 ? S 0:00 sleep 3
5006 pts/0 R+ 0:00 ps ax
参数解释
PID ## 进程的进程用户
TTY ## 进程启动时的终端设备
STAT ## 当前进程状态的双字符状态码
TIME ## 运行进程需要的累计CPU时间
COMMAND ## 启动程序名称12345
2、 ps -ef 输出
[root@test ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 09:08 ? 00:00:01 /usr/lib/systemd/systemd –switched-roo
root 2 0 0 09:08 ? 00:00:00 [kthreadd]
root 3 2 0 09:08 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 09:08 ? 00:00:00 [kworker/0:0H]
root 7 2 0 09:08 ? 00:00:00 [migration/0]
root 8 2 0 09:08 ? 00:00:00 [rcu_bh]
参数解释
UID #启动这些进程的用户
PID #进程的进程用户
PPID #父进程的进程号(如果该进程是由另一个进程启动的)
C #进程生命周期中的CPU利用率
STIME #进程启动时的系统时间
TTY #进程启动时的终端设备
TIME #运行进程需要的累计CPU时间
CMD #启动程序名称12345678
3、 ps -au(x) 输出
[root@test ~]# ps -au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 618 0.0 0.4 160724 17800 tty1 Ss+ 22:25 0:00 /usr/bin/Xorg :0 -background none -v
root 2231 0.0 0.0 116144 2780 pts/0 Ss 22:50 0:00 -bash
root 2273 0.0 0.0 16040 572 pts/0 S 22:50 0:00 dbus-launch –autolaunch=946cb0e817e
root 3046 0.0 0.0 123356 1320 pts/0 R+ 23:06 0:00 ps -au
[root@test ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 49940 3944 ? Ss 22:25 0:01 /usr/lib/systemd/systemd –switched-
root 2 0.0 0.0 0 0 ? S 22:25 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 22:25 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 22:25 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 22:25 0:00 [migration/0]
… … … … … … 1234567891011121314
其代表含义如下:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 进程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 进程启动时的终端设备
STAT: 该进程的状态:
D: 不可中断的静止
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的内存分页可分配
<: 高优先序的进程
N: 低优先序的进程
L: 有内存分页分配并锁在内存内
START: 进程开始时间
TIME: 执行的时间
COMMAND: 所执行的指令