sanhutrees 发表于 2018-5-17 11:35:24

Linux 进程管理

  ps [选项]

   -A:显示系统中所有进程的信息
   -l: 以长格式显示进程信息
   -e: 显示所有进程信息
   -f: 显示完整信息
   -r: 正在运行的进程
   -a: 与终端相关进程
   -u: 以用户熟悉格式显示
  -x: 与终端无关的进程
  -p: 显示由进程ID指定的进程信息
  -t: 显示指定终端上的进程信息
  

  1:仅查看自己的BASH的相关进程

  F;表示为程序权限总结,4表示为root,若1为此子进程仅进行复制没有运行
  S:为程序状态(stat),主要状态如下:
      R (Running):该程序正在运行
      S (Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
      D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>列印)
      T :停止状态(stop),可能是在工作控制(背景暂停)或除错 (traced) 状态;
      Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外   
               s:会话的创建者
                              +:正在前台运行进程
                              l:多线程进程
                              <: 高优先级进程
                             N: 低有线进程   
  UID/PID/PPID:代表『此程序被该 UID 所拥有/程序的 PID 号码/此程序的父程序 PID 号码』
  C:代表 CPU 使用率,单位为百分比
  PRI/NI:Priority/Nice 的缩写,代表此程序被 CPU 所运行的优先顺序,数值越小代表该程序越快被 CPU 运行
  ADDR/SZ/WCHAN:都与内存有关,ADDR 是 kernel function,指出该程序在内存的哪个部分,如果是个 running 的程序,一般就会显示『 - 』 / SZ 代表此程序用掉多少内存 / WCHAN 表示目前程序是否运行中,同样的, 若为 - 表示正在运行中。
  TTY:登陆者的终端机位置,若为远程登陆则使用动态终端介面 (pts/n); ?时为与终端无关的进程
  TIME:使用掉的 CPU 时间,注意,是此程序实际花费 CPU 运行的时间,而不是系统时间
  CMD:就是 command 的缩写,造成此程序的触发程序之命令为何
  

  2:ps -ef 是用标准的格式显示进程的、其格式如下



  其中各列的内容意思如下
UID    //用户ID、但输出的是用户名
PID    //进程的ID
PPID    //父进程ID
C      //进程占用CPU的百分比
STIME//进程启动时间
TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD    //命令的名称和参数
  

  3:ps aux 是用BSD的格式来显示、其格式如下

  同ps -ef 不同的有列有
USER      //用户名
  PID      // 程序pid 号
%CPU      //进程占用的CPU百分比
%MEM      //占用物理内存的百分比
VSZ      //该进程使用的虚拟內存量(Kbytes)
RSS      //该进程占用的固定內存量(Kbytes)(驻留中页的数量)
  TTY      //tty1-tty6本机上面的登入者程序,如果为pts/0, pts1等,就表示是由网络链接进入主机的程序
  STAT      //进程的状态 ,有R,S,T,Z            
            R (Running):该程序正在运行
            S (Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
            D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>列印)
            T :停止状态(stop),可能是在工作控制(背景暂停)或除错 (traced) 状态;
            Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外   
                    s:会话的创建者
                                      +:正在前台运行进程
                                      l:多线程进程
                                      <: 高优先级进程
                                      N: 低有线进程      
  START    //该进程被触发启动时间
TIME      //该进程实际使用CPU运行的时间

  COMMAND//运行改程序的指令
  

  4:top
  top [-d 数字][-bnp]
     选项:
        -d :后面接秒数,就是刷新秒数,默认为5秒
         -b : 以批次方面的执行top
        -n :与 -b 搭配,意思是需要几次top的输出结果
              # tob -b -n 3   输出top3次结果并保存到top.txt里
        -p :监测指定某个pid
              # top -d 2 -p 93553监视pid为93553这个程序
  

   top执行过程中可以用的按键指令:
              ?:显示在top当中可以输入的按键指
     P: 大写P 以占用CPU%大小排序
              M:大写M 以占用memory空间大小排序
              T:大定T 以cpu累积占用时间排序
               N:大写N 以pid排序
  
               l:是否显示系统的负载行。队列长度的合理区间,CPU颗数*0.7
               t: 是否显示进程摘要信息及CPU负载状态
              i:平均和单独CPU负债状态。
              m: 是否显示内在相关的状态
  
              q:退出命令
              s:修改刷新时长
               k:杀死或终止进程

  top - 00:22:51 up 752 days, 23:04, 55 users,load average: 0.00, 0.14, 0.43
     系统时间系统运行时长       用户数            1 ,5,15分钟平均数
  Tasks: 1054 total,   1 running, 1051 sleeping,   1 stopped,   1 zombie
  总运行程序数   运行进程   睡眠进程   停止进程   僵尸进程
  Cpu(s):0.5%us,1.0%sy,0.0%ni, 98.3%id,0.1%wa,0.0%hi,0.1%si,0.0%st
         us: user space 用户空间程序占用百分比
         sy: system (kernel space) 内核占用%
         ni: nice,越小越早运行
         id: idle 空闲%
         wa: wait io 等待IO占用%
         hi: hardware inerrupt 处理硬件中断占用%
         si: software interrupt 处理软件中断占用%
         st: stolen 被虚拟机“偷走”的%
  PID USER      PRNIVIRTRESSHR S %CPU %MEM    TIME+COMMAND            
  PID:进程号
  USER:进程所有者
  PR:优先级别
  NI:进程优先级别数字
  VIRT:进程占用的虚拟内存值
  RES:进程占用的物理内存
  SHR:进程使用的共享内存值
  S:状态码
  %CPU:占用的CPU使用率
  %MEM:占用物理内在和总内存的百分比
  TIME+:该进程启动后占用的总CPU时间
  COMMAND:启动该进程的命令
  
  pstree
pstree:显示进程状态树,pstree命令可以列出当前的进程,以及它们的树状结构。 主要选项如下。
-a:显示执行程序的命令与完整参数。
-c:取消同名程序,合并显示。
-n:以PID大小排序。
-p:显示PID。
-u:显示UID信息。
使用ps命令得到的数据精确,但数据庞大,这一点对掌握系统整体概况来说是不容易的。pstree命令正好可以弥补这个缺憾。它能将当前的执行程序以树状结构显示。pstree命令支持指定特定程序(PID)或使用者(USER)作为显示的起始。
常用的命令
pstree -a显示全部信息
pstree -p显示进程pid号
  
  pidof命令:
  pidof [进程名]
     # pidof /usr/sbin/vsftpd
     3339
  pgrep 命令
   语法格式:pgrep "PATTERN"
                     -U UID: 以指定用户身体运行
                     -G GID:
                     -l :显示PID号和进程名
  htop:
  交互命令:
     u:仅显示选定用户的进程
     s:跟踪选定的进程发起的系统调用
     l:显示选定的进程打的的文件
     t:显示进程的层次结构
     a:讲进程绑定指定的CPU上
   选项:-d # :延迟时长
         -u USERNAME:仅显示指定用户的进程
         -s COLUMN:根据指定的字段排序
  
页: [1]
查看完整版本: Linux 进程管理