1. ps (Process Status)
列出的是当前进程的快照,即执行ps命令时刻的进程
进程状态
R 该程序目前正在运作,或者是可被运作
S 该程序目前正在睡眠当中,但可被某些讯号唤醒。
T 该程序目前正在侦测或者是停止了
Z 该程序应该已经终止,但是其父程序却无法正常的终止他,造成僵死程序的状态
1.1. command
ps [options]
- 常用命令
# 显示所有进程信息
ps -A
# 显示指定用户的进程信息
ps u root
# 详细显示程序的状况
ps -l
# 列出目前所有的正在内存当中程序
ps aux(-au)
# 与其他函数联系使用
ks@ks:/tmp$ ps aux |grep ssh
root 12311 0.0 0.0 65620 6184 ? Ss 13:18 0:00 /usr/sbin/sshd -D
ks 12932 0.0 0.0 15976 952 pts/23 S+ 13:44 0:00 grep --color=auto ssh
ks@ks:/tmp$ ps aux |grep ssh | wc -l
2
- args
ps[-aAcdefHjlmNVwy][acefhgLnrsSTuvxX][-C<指令名称>][-g<群组名称>][-G<群组号码>]
[-p<程序识别码>][p<程序识别码>][-s<阶段作业>][-t<终端机编号>][t<终端机号码>][-u<用户识别码>][-U<用户识别码>]
[U<用户名称>][-<程序识别码>][--cols<每行字符数>][--columns<每列字符数>][--cumulative][--deselect][--forest]
[--headers][--help][--info][--lines<显示列数>][--no-headers][--group<群组名称>][-Group<群组识别码>]
[--pid<程序识别码>][--rows<显示列数>][--sid<阶段作业>][--tty<终端机编码>][--user<用户名称>][--User<用户识别码>]
[--version][--width<每列字符数>]
a 显示现行终端机下的所有程序,包括其他用户的程序
-a 显示所有终端机下执行的程序,除了阶段作业领导者之外
-A 显示所有进程
c 显示进程的真实名称
e 列出程序,显示环境变量
f 用ASCII字符显示树状结构,显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
-u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<指令名称> 列出指定命令的状况
--headers 重复显示标题列
c 列出进程时,显示每个进程真正的指令名称,而不包含路径,参数或常驻服务
-e 等于“-A”
-f 显示UID,PPIP,C与STIME栏位
-g<群组名称> 列出属于该群组的进程的状况
g 显示现行终端机下的所有进程,包括群组领导者的进程
h 不显示标题列
-l或l 采用详细的格式来显示程序状况
-N 显示所有的程序,除了ps 执行ps指令终端机下的程序之外
-p<进程识别码> 指定进程识别码,并列出该进程的状况
r 只列出现行终端机正在执行中的程序
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
ps l(-l)
结果相关意义
F 代表这个程序的旗标 (flag), 4 代表使用者为 super user(超级用户)
S 代表这个程序的状态 (STAT)
UID 程序被该 UID 所拥有
PID 就是这个程序的 ID !
PPID 则是其上级父程序的ID
C CPU使用的资源百分比
PRI 这个是 Priority (优先执行序) 的缩写
NI 这个是Nice值
ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
SZ 使用掉的内存大小
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY 登入者的终端机位置
TIME 使用掉的 CPU 时间。
CMD 下达的指令