Linux shell ps命令
Linux shell ps 命令用于显示当前进程 (process) 的状态。
ps 命令语法格式
ps [options] [--help]
选项
- ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
- -A 列出所有的进程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
- au(x) 输出格式 :
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
范例
使用 ps -A
列出所有进程
[root@localhost ~]# ps -A PID TTY TIME CMD 1 ? 00:00:01 systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 kworker/0:0H 6 ? 00:00:00 kworker/u256:0 ... 1159 ? 00:00:01 kworker/0:2 1195 ? 00:00:00 kworker/0:1 1222 ? 00:00:00 kworker/0:0 1223 ? 00:00:00 sshd 1227 pts/0 00:00:00 bash 1243 ? 00:00:00 kworker/0:3 1247 pts/0 00:00:00 ps
显示指定用户(root)的所有进程
[root@localhost ~]# ps -u root PID TTY TIME CMD 1 ? 00:00:01 systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 kworker/0:0H 6 ? 00:00:00 kworker/u256:0 .... 1159 ? 00:00:01 kworker/0:2 1195 ? 00:00:00 kworker/0:1 1222 ? 00:00:00 kworker/0:0 1223 ? 00:00:00 sshd 1227 pts/0 00:00:00 bash 1243 ? 00:00:00 kworker/0:3 1248 pts/0 00:00:00 ps [root@localhost ~]#
使用 ps -ef
显示所有进程信息,包括命令行
[root@localhost ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 00:04 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 root 2 0 0 00:04 ? 00:00:00 [kthreadd] root 3 2 0 00:04 ? 00:00:00 [ksoftirqd/0] root 5 2 0 00:04 ? 00:00:00 [kworker/0:0H] ... root 1159 2 0 00:21 ? 00:00:01 [kworker/0:2] root 1223 994 0 00:41 ? 00:00:00 sshd: root@pts/0 root 1227 1223 0 00:41 pts/0 00:00:00 -bash root 1243 2 0 00:41 ? 00:00:00 [kworker/0:3] root 1249 2 0 00:46 ? 00:00:00 [kworker/0:0] root 1250 1227 0 00:47 pts/0 00:00:00 ps -ef