ps显示进程
uh3ng@kali:~$ ps
PID TTY TIME CMD
1630 pts/1 00:00:00 bash
1639 pts/1 00:00:00 ps
只输入ps
命令不带任何参数会列出当前终端执行的命令进程,TTY表示控制终端,若显示为?则表示没有控制终端;TIME表示占用的CPU时间;CMD表示执行的命令
uh3ng@kali:~$ ps x
PID TTY STAT TIME COMMAND
1094 ? Ss 0:00 /lib/systemd/systemd --user
1095 ? S 0:00 (sd-pam)
1114 ? S<sl 0:00 /usr/bin/pulseaudio --daemonize=no
1116 ? SNsl 0:00 /usr/libexec/tracker-miner-fs
......
此命令用于显示所有进程,包含没有控制终端的进程。其中STAT表示进程的状态
STAT | 含义 |
---|---|
R | Runnable运行 |
S | Sleeping休眠 |
D | 不可中断(IO) |
T | 已停止 |
Z | 已经终止的子进程,但父进程没有删除他 |
< | 高优先级进程 |
N | 低优先级进程 |
ps常用参数
ps a #列出所有用户的控制终端进程
ps u #指定输出格式,按用户列出当前终端进程
ps x #列出当前用户所有进程,包含非控制终端进程,即STAT为?的进程
ps aux #将以上三个参数组合起来,既可以以用户区分又可以得到所有进程
ps -A u #也可以用于列出所有进程,并以显示所属用户
ps -u root #列出root用户进程
使用ps aux
命令可能获得以下输出
uh3ng@kali:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 167080 11060 ? Ss 20:45 0:02 /sbin/init splash
root 2 0.0 0.0 0 0 ? S 20:45 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 20:45 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 20:45 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I< 20:45 0:00 [kworker/0:0H-kblockd]
root 9 0.0 0.0 0 0 ? I< 20:45 0:00 [mm_percpu_wq]
root 10 0.0 0.0 0 0 ? S 20:45 0:00 [ksoftirqd/0]
root 11 0.0 0.0 0 0 ? I 20:45 0:00 [rcu_sched]
在列出的信息中,%CPU表示CPU占用,%MEN表示内存占用,VSZ表示分配的虚拟内存大小,RSS表示分配的物理内存大小,START为进程的开始时间