ps - QLGQ/learning-python GitHub Wiki

ps(process status)命令操作

作用

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.

ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

常用参数

  • -A:所有的进程均显示出来,与-e具有同样的效用;
  • -a:显示现行终端机下的所有进程,包括其他用户的进程;
  • -u:以用户为主的进程状态;
  • -x:通常与a这个参数一起使用,可列出较完整信息;
  • -l:较长、较详细的将该PID的信息列出;
  • -j:工作的格式(jobs format);
  • -f:做一个更为完整的输出。

由于ps能够支持的系统类型相当的多,所以它的参数多得离谱,而且有没有加上“-”差很多,详细的用法参考man ps。

ps aux|grep xxx详解

如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。

使用示例:
[root@node20 updateDB]# ps aux|grep ./update_stock root 14232 0.0 0.0 5928 724 pts/1 S+ 18:16 0:00 grep ./update_stock root 25021 0.0 0.0 3056 816 ? S Apr12 0:03 ./update_stock

ps aux输出格式:
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:该进程的状态,linux的进程有5种状态
D 不可中断 uninterruptible sleep(usually IO)
R 运行 runnable(on run queue) S 中断 sleeping T 停止 traced or stopped
Z 僵死 a defunct ("zombie") process

START:进程开始时间 TIME:执行的时间 COMMAND:所执行的命令