zoukankan      html  css  js  c++  java
  • Linux学习笔记:ps -ef、ps aux、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

  • 相关阅读:
    shell脚本简单调试
    计算机揭秘之:网络分类和性能分析
    centos 7 虚拟机忘记密码
    算法时间复杂度计算
    strace命令 linux下调试神器
    Linux下core dump (段错误)
    dmesg + addr2line查看堆栈错误位置
    镜像 开源网站
    C语言---链表(包括学习过程中的思想活动)
    The C compiler "/usr/bin/cc" is not able to compile a simple test program. 解决方法
  • 原文地址:https://www.cnblogs.com/hider/p/9482903.html
Copyright © 2011-2022 走看看