Linux学习笔记:ps -ef与kill -9进程管理

一、查看进程命令

1.ps命令

  Linux中的ps命令是Process Status的缩写。

  ps命令用来列出系统中当前运行的那些进程。

  ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

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

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 

参数:

  • -e:显示所有进程 等同于-A
  • f:显示程序间的关系 ps -ef
  • -u:指定用户 ps -u root

实例:

  ps常与grep组合使用,查找特定进程 ps -ef | grep ssh

  找出与cron与syslog有关的PID号码 ps aux | grep '(cron|syslog)'

  查找指定进程个数 ps -ef | grep xxx -c 或者 ps -ef | grep -c xxx

2.top命令

  top命令提供了运行中系统的动态实时视图。在命令提示行中输入top:

  按q退出,按h进入帮助。

3.pstree命令

  pstree以树状显示正在运行的进程。树的根节点为pid或init。如果指定了用户名,进程树将以用户所拥有的进程作为根节点。

二、ps -ef与ps aux的区别

  • ps -ef 是System V展示风格
  • ps aux是BSD风格

字段含义:

1.UID:用户ID

2.PID:进程ID

3.PPID:父进程ID

4.C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 

5.STIME:进程启动的时间

6.TTY:完整的终端名称

7.TIME:CPU时间

8.CMD:完整的启动进程所用的命令和参数 

 字段含义:

1.USER:用户名称

2.PID:进程号

3.%CPU:进程占用CPU的百分比

4.%MEM:进程占用物理内存的百分比

5.VSZ:进程占用的虚拟内存大小(单位:KB)

6.RSS:进程占用的物理内存大小(单位:KB)

7.TTY:终端名称(缩写),若为?,则代表此进程与终端无关,由系统启动的 

8.STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

9.START:进程的启动时间

10.TIME:CPU时间,即进程使用CPU的总时间

11.COMMAND:启动进程所用的命令和参数,如果过长会被截断显示 

 注意:

1.command列如果过长,aux会截断显示,而-ef不会截断;

2.如果想查看进程的CPU占用率和内存占用率,使用aux;

3.如果想查看进程的父进程ID和完整的command,使用-ef;

 三、kill命令

  kill 命令用于杀死进程,终止进程。

  kill -9 pid 等于 kill -s 9 pid 表示强迫进程立即停止


 END 2018-08-16 14:46:18

猜你喜欢

转载自www.cnblogs.com/hider/p/9482903.html
今日推荐