- ps -ef (e环境变量,f程序间的关系 )
- ps -A显示所有进程
- ps -AH 树状结构显示所有进程
- ps -au 显示较详细的资讯(u 用户)
- ps -aux 显示所有包含其他使用者的行程 (x 显示所有程序,不以终端机来区分)
Linux上进程有5种状态:
- 运行(正在运行或在运行队列中等待)
- 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
- 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
- 僵死(该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态,进程描述符存在, 直到父进程调用wait4()系统调用后释放)
- 停止(进程收到SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
- R 运行 runnable (on run queue)
- S 中断 sleeping
- D 不可中断 uninterruptible sleep (usually IO)
- Z 僵死 a defunct (”zombie”) process
- T 停止 traced or stopped
ps au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 185560 3832 ? Ss 10:10 0:02 /sbin/init splash
root 2 0.0 0.0 0 0 ? S 10:10 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 10:10 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S< 10:10 0:00 [mm_percpu_wq]
root 7 0.0 0.0 0 0 ? S 10:10 0:00 [ksoftirqd/0]
root 8 0.1 0.0 0 0 ? S 10:10 0:49 [rcu_sched]
root 9 0.0 0.0 0 0 ? S 10:10 0:00 [rcu_bh]
root 10 0.0 0.0 0 0 ? S 10:10 0:00 [migration/0]
root 11 0.0 0.0 0 0 ? S 10:10 0:00 [watchdog/0]
root 12 0.0 0.0 0 0 ? S 10:10 0:00 [cpuhp/0]
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
查看tomcat进程id:
ps -ef|grep tomcat
统计tomcat进程内线程数:
ps -Lf 17904 | wc -l