首页 > 代码库 > linux ps命令

linux ps命令

语法注意:

ps(process status)命令带有2种不一样的风格,分别是BSD和UNIX。新用户经常会混淆和错误地解释这两种风格。所以要弄清楚他们,继续操作之前这里是一些基本的信息。

注意:"ps aux"和"ps -aux"不相同。例如"-u"用来显示该用户的进程。但是"u"则是显示详细的信息。

BSD风格:在BSD风格的语法选项前不带连字符。

  1. ps aux 

UNIX/LINUX的风格:在linux风格的语法选项前面有一个破折号如常。…

  1. ps -ef 

混合使用两种Linux系统上的语法风格是好事儿。例如“ps ax -f”。但在这篇文章中,我们将主要集中在UNIX风格的语法。

如何使用ps命令呢?

1、显示所有进程:

下面的命令将列出所有的进程:

  1. $ ps ax 
  2. $ ps -ef 

加上管道输出给less,来滚动显示

"u"或者"-f"参数来显示所有进程的详细信息

  1. $ ps aux 
  2. $ ps -ef -f 

注意:为什么用户列不显示我的用户名,但显示其他用户,如root、www等,对于所有的用户名(包括你)如果长度大于8个字符,然后ps将只显示UID,而不是用户名。

3、通过名字和进程ID显示进程:

通过名字或命令搜索进程,使用“-C”选项后面加搜索词。

  1. $ ps -C apache2 
  2.   PID TTY          TIME CMD 
  3.  2359 ?        00:00:00 apache2 
  4.  4524 ?        00:00:00 apache2 
  5.  4525 ?        00:00:00 apache2 

------------------------

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

ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具

kill 命令用于杀死进程。

 

linux上进程有5种状态: 

1. 运行(正在运行或在运行队列中等待) 

2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 

3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 

4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 

5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 

 

ps工具标识进程的5种状态码: 

D 不可中断 uninterruptible sleep (usually IO) 

R 运行 runnable (on run queue) 

S 中断 sleeping 

T 停止 traced or stopped 

Z 僵死 a defunct (”zombie”) process 

ps 与grep 常用组合用法,查找特定进程

命令:

ps -ef|grep ssh

linux ps命令