ps命令
ps是Process Status 的缩写。用来显示执行ps命令的那个时刻的那些进程。
linux上进程有5种状态:
- 运行(R runnable/on the run queue):正在运行或者正在运行队列中等待
- 中断 (S sleeping):休眠中,受阻,在等待某个条件的形成或接收到信号
- 不可中断 (D uninterruptible sleep(usually IO)):收到信号不唤醒或不可运行,进程必须等待直到有中断发生
- 僵死 (Z defunct ("zombie") process):进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放。
- 停止 (T traced ot stopped):进程受到SIGSTOP, SIGSTP, SIGTOU信号后停止运行。
ps命令参数:
a:显示所有进程
-a: 显示同一终端下的所有进程
-A:显示所有进程
c:显示进程的真实名称
-N:反向选择
-e:等于-A
e:显示环境变量
f:显示程序间的关系
-H:显示树状结构
r:显示当前终端的进程
T:显示当前终端的所有进程
u:显示指定用户的所有进程
-au:显示较详细的咨询
-aux:显示所有包含其它使用者的进程
-C<命令>:列出指定命令的状况
--lines<行数>:每页显示的行数
--width<字符数>:每页显示的字符数
--help: 显示帮助信息
--version:显示版本信息
显示指定用户信息:ps -u root
显示所有进程信息,连同命令行:ps -ef
查找含有字符串‘ssh’的进程:ps -ef|grep ssh
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
列出目前所有的正在内存当中的程序:ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 10368 676 ? Ss Nov02 0:00 init [3]
root 2 0.0 0.0 0 0 ? S< Nov02 0:01 [migration/0]
root 3 0.0 0.0 0 0 ? SN Nov02 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< Nov02 0:01 [migration/1]
USER:该process 属于哪个使用者账号的
PID:该process的号码
%CPU:该process使用掉的CPU资源百分比
%MEM:该process所占用的物理内存百分比
VSZ:该process使用掉的虚拟内存量(Kbytes)
RSS:该process 占用的固定的内存量(Kbytes)
TTY:该process是在哪个终端机上面运作,若与终端机无关,则显示 ?,另外,tty1-tty6是本机上面的登入者程序,若为pts/0等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态。
START:该process被触发启动的时间
TIME:该process实际使用CPU运作的时间
COMMAND:该程序的实际指令
输出指定的字段:ps -o pid,ppid,pgrp,session,tpgid,comm
[root@localhost test6]# ps -o pid,ppid,pgrp,session,tpgid,comm
PID PPID PGRP SESS TPGID COMMAND
17398 17394 17398 17398 17478 bash
17478 17398 17478 17398 17478 ps
[root@localhost test6]#