linux进程管理相关命令_weixin_33946605的博客-程序员ITS203

技术标签: 运维  开发工具  操作系统  

进程管理相关命令

pstree: 命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。

  选项:
    -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
    -c:不使用精简标示法;
    -G:使用VT100终端机的列绘图字符;
    -h:列出树状图时,特别标明现在执行的程序;
    -H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;
    -l:采用长列格式显示树状图;
    -n:用程序识别码排序。预设是以程序名称来排序;
    -p:显示程序识别码;
    -u:显示用户名称;
    -U:使用UTF-8列绘图字符;
    -V:显示版本信息。

pstree 常用 选项:

显示当前所有进程的进程号和进程id
[[email protected] data]# pstree -p
init(1)─┬─abrtd(1813)
        ├─acpid(1525)
        ├─atd(1855)
        ├─auditd(1412)───{auditd}(1413)
        ├─console-kit-dae(1891)─┬─{console-kit-da}(1892)
        │                       ├─{console-kit-da}(1893)
        │                       ├─{console-kit-da}(1894)
        │                       ├─{console-kit-da}(1895)
        │                       ├─{console-kit-da}(1896)
        │                       ├─{console-kit-da}(1897)
        │                       ├─{console-kit-da}(1898)
        │                       ├─{console-kit-da}(1899)
        │                       ├─{console-kit-da}(1900)
        │                       ├─{console-kit-da}(1901)
        │                       ├─{console-kit-da}(1902)
        │                       ├─{console-kit-da}(1903)
        │                       ├─{console-kit-da}(1904)
        │                       ├─{console-kit-da}(1905)
        │                       ├─{console-kit-da}(1906)
        │                       ├─{console-kit-da}(1907)

显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示。
[[email protected] data]# pstree -a
init
  ├─abrtd
  ├─acpid
  ├─atd
  ├─auditd
  │   └─{auditd}
  ├─console-kit-dae --no-daemon
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}
  │   ├─{console-kit-da}

ps: 命令报告当前系统的进程状态
Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中
ps 支持三种风格的格式

1、UNIX options, which may be grouped and must be preceded by a dash.
  UNIX选项,可以分组,并且必须以 '-' 开头。
  如 -A -e
2、BSD options, which may be grouped and must not be used with a dash.
   BSD选项,可以分组,不能和 '-' 一起使用。
  如 a
3、GNU long options, which are preceded by two dashes.
   GNU长选项,前面有两个'--'。
   如 --help

  选项:
    a 选项包括所有终端中的进程
    x 选项包括不链接终端的进程
    u 选项显示进程所有者的信息
    f 选项显示进程树,相当于 --forest
    k|--sort 属性 对属性排序,属性前加- 表示倒序
    o 属性… 选项显示定制的信息 pid、cmd、%cpu、%mem
    L 显示支持的属性列表
    -C cmdlist 指定命令,多个命令用,分隔
    -L 显示线程
    -e: 显示所有进程,相当于-A
    -f: 显示完整格式程序信息
    -F: 显示更完整格式的进程信息
    -H: 以进程层级格式显示进程相关信息
    -u userlist 指定有效的用户ID或名称
    -U userlist 指定真正的用户ID或名称
    -g gid或groupname 指定有效的gid或组名称
    -G gid或groupname 指定真正的gid或组名称
    -p pid 显示指pid的进程
    --ppid pid 显示属于pid的子进程
    -M 显示SELinux信息,相当于Z

ps输出属性
linux进程管理相关命令

VSZ: Virtual memory SiZe,虚拟内存集,线性内存
RSS: ReSident Size, 物理内存使用数
ni: nice值
pri: priority 优先级
psr: processor CPU编号
rtprio: 实时优先级

STAT:进程状态

   R:running
   S: interruptable sleeping
   D: uninterruptable sleeping
   T: stopped
   Z: zombie
   +: 前台进程
   l: 多线程进程
   L:内存分页并带锁
   N:低优先级进程
   <: 高优先级进程
   s: session leader,会话(子进程)发起者

常用组合命令:

[[email protected] ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0  19352  1640 ?        Ss   Aug27   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Aug27   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    Aug27   0:00 [migration/0]
root          4  0.0  0.0      0     0 ?        S    Aug27   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S    Aug27   0:00 [stopper/0]
root          6  0.0  0.0      0     0 ?        S    Aug27   0:00 [watchdog/0]
root          7  0.0  0.0      0     0 ?        S    Aug27   0:00 [migration/1]
root          8  0.0  0.0      0     0 ?        S    Aug27   0:00 [stopper/1]
root          9  0.0  0.0      0     0 ?        S    Aug27   0:00 [ksoftirqd/1]
root         10  0.0  0.0      0     0 ?        S    Aug27   0:00 [watchdog/1]
root         11  0.0  0.0      0     0 ?        S    Aug27   0:07 [events/0]
root         12  0.1  0.0      0     0 ?        S    Aug27   2:42 [events/1]
root         13  0.0  0.0      0     0 ?        S    Aug27   0:00 [events/0]
root         14  0.0  0.0      0     0 ?        S    Aug27   0:00 [events/1]

[[email protected] ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 Aug27 ?        00:00:01 /sbin/init
root          2      0  0 Aug27 ?        00:00:00 [kthreadd]
root          3      2  0 Aug27 ?        00:00:00 [migration/0]
root          4      2  0 Aug27 ?        00:00:00 [ksoftirqd/0]
root          5      2  0 Aug27 ?        00:00:00 [stopper/0]
root          6      2  0 Aug27 ?        00:00:00 [watchdog/0]
root          7      2  0 Aug27 ?        00:00:00 [migration/1]
root          8      2  0 Aug27 ?        00:00:00 [stopper/1]
root          9      2  0 Aug27 ?        00:00:00 [ksoftirqd/1]
root         10      2  0 Aug27 ?        00:00:00 [watchdog/1]
root         11      2  0 Aug27 ?        00:00:07 [events/0]
root         12      2  0 Aug27 ?        00:02:42 [events/1]
root         13      2  0 Aug27 ?        00:00:00 [events/0]

[[email protected] ~]# ps -eFH
UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root          2      0  0     0     0   1 Aug27 ?        00:00:00 [kthreadd]
root          3      2  0     0     0   0 Aug27 ?        00:00:00   [migration/0]
root          4      2  0     0     0   0 Aug27 ?        00:00:00   [ksoftirqd/0]
root          5      2  0     0     0   0 Aug27 ?        00:00:00   [stopper/0]
root          6      2  0     0     0   0 Aug27 ?        00:00:00   [watchdog/0]
root          7      2  0     0     0   1 Aug27 ?        00:00:00   [migration/1]
root          8      2  0     0     0   1 Aug27 ?        00:00:00   [stopper/1]
root          9      2  0     0     0   1 Aug27 ?        00:00:00   [ksoftirqd/1]
root         10      2  0     0     0   1 Aug27 ?        00:00:00   [watchdog/1]
root         11      2  0     0     0   0 Aug27 ?        00:00:07   [events/0]
root         12      2  0     0     0   1 Aug27 ?        00:02:43   [events/1]
root         13      2  0     0     0   0 Aug27 ?        00:00:00   [events/0]
root         14      2  0     0     0   1 Aug27 ?        00:00:00   [events/1]
root         15      2  0     0     0   0 Aug27 ?        00:00:00   [events_long/0]
root         16      2  0     0     0   1 Aug27 ?        00:00:00   [events_long/1]

自定义显示pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm,不过需要配合O选项来
[[email protected] ~]# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
   PID    TID CLS RTPRIO  NI PRI PSR %CPU STAT COMMAND
     1      1 TS       -   0  19   0  0.0 Ss   init
     2      2 TS       -   0  19   1  0.0 S    kthreadd
     3      3 FF      99   - 139   0  0.0 S    migration/0
     4      4 TS       -   0  19   0  0.0 S    ksoftirqd/0
     5      5 FF      99   - 139   0  0.0 S    stopper/0
     6      6 FF      99   - 139   0  0.0 S    watchdog/0
     7      7 FF      99   - 139   1  0.0 S    migration/1
     8      8 FF      99   - 139   1  0.0 S    stopper/1
     9      9 TS       -   0  19   1  0.0 S    ksoftirqd/1
    10     10 FF      99   - 139   1  0.0 S    watchdog/1
    11     11 TS       -   0  19   0  0.0 S    events/0
    12     12 TS       -   0  19   1  0.1 S    events/1
    13     13 TS       -   0  19   0  0.0 S    events/0
    14     14 TS       -   0  19   1  0.0 S    events/1

[[email protected] ~]# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
STAT  EUID  RUID TT        TPGID   SESS   PGRP   PPID    PID %CPU COMMAND
Ss       0     0 ?            -1      1      1      0      1  0.0 init
S        0     0 ?            -1      0      0      0      2  0.0 kthreadd
S        0     0 ?            -1      0      0      2      3  0.0 migration/0
S        0     0 ?            -1      0      0      2      4  0.0 ksoftirqd/0
S        0     0 ?            -1      0      0      2      5  0.0 stopper/0
S        0     0 ?            -1      0      0      2      6  0.0 watchdog/0
S        0     0 ?            -1      0      0      2      7  0.0 migration/1
S        0     0 ?            -1      0      0      2      8  0.0 stopper/1
S        0     0 ?            -1      0      0      2      9  0.0 ksoftirqd/1
S        0     0 ?            -1      0      0      2     10  0.0 watchdog/1
S        0     0 ?            -1      0      0      2     11  0.0 events/0
S        0     0 ?            -1      0      0      2     12  0.1 events/1
S        0     0 ?            -1      0      0      2     13  0.0 events/0
S        0     0 ?            -1      0      0      2     14  0.0 events/1
S        0     0 ?            -1      0      0      2     15  0.0 events_long/0
S        0     0 ?            -1      0      0      2     16  0.0 events_long/1
S        0     0 ?            -1      0      0      2     17  0.0 events_power_ef
S        0     0 ?            -1      0      0      2     18  0.0 events_power_ef

以进程树显示系统中的进程如何相互链接:
[[email protected] ~]# ps -e --forest
   PID TTY          TIME CMD
     2 ?        00:00:00 kthreadd
     3 ?        00:00:00  \_ migration/0
     4 ?        00:00:00  \_ ksoftirqd/0
     5 ?        00:00:00  \_ stopper/0
     6 ?        00:00:00  \_ watchdog/0
     7 ?        00:00:00  \_ migration/1
     8 ?        00:00:00  \_ stopper/1
     9 ?        00:00:00  \_ ksoftirqd/1
    10 ?        00:00:00  \_ watchdog/1
    11 ?        00:00:07  \_ events/0
    12 ?        00:02:44  \_ events/1
    13 ?        00:00:00  \_ events/0
    14 ?        00:00:00  \_ events/1
    15 ?        00:00:00  \_ events_long/0
    16 ?        00:00:00  \_ events_long/1

以进程树显示指定的进程
[[email protected] ~]# ps -f --forest -C sshd
UID         PID   PPID  C STIME TTY          TIME CMD
root       1720      1  0 Aug27 ?        00:00:00 /usr/sbin/sshd
root       2581   1720  0 Aug27 ?        00:00:02  \_ sshd: [email protected]/0,pts/1
[[email protected] ~]# ps -ef --forest | grep -v grep | grep sshd
root       1720      1  0 Aug27 ?        00:00:00 /usr/sbin/sshd
root       2581   1720  0 Aug27 ?        00:00:02  \_ sshd: [email protected]/0,pts/1

查看进程的PID,PPID,用户名和命令:
[[email protected] ~]# ps -eo pid,ppid,user,cmd
   PID   PPID USER     CMD
     1      0 root     /sbin/init
     2      0 root     [kthreadd]
     3      2 root     [migration/0]
     4      2 root     [ksoftirqd/0]
     5      2 root     [stopper/0]
     6      2 root     [watchdog/0]
     7      2 root     [migration/1]
     8      2 root     [stopper/1]
     9      2 root     [ksoftirqd/1]

要显示一个进程的所有线程,将显示LWP(轻量级进程)以及NLWP(轻量级进程数)列:
[[email protected] ~]# ps -fl -C httpd
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
1 S root       9174      1  0  80   0 - 44381 poll_s 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9249   9174  0  80   0 - 44415 sys_se 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9250   9174  0  80   0 - 44381 sys_se 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9251   9174  0  80   0 - 44415 sys_se 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9252   9174  0  80   0 - 44381 inet_c 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9253   9174  0  80   0 - 44415 sys_se 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9254   9174  0  80   0 - 44415 sys_se 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9255   9174  0  80   0 - 44381 sys_se 09:52 ?        00:00:00 /usr/sbin/
5 S apache     9256   9174  0  80   0 - 44381 sys_se 09:52 ?        00:00:00 /usr/sbin/
[[email protected] ~]# 

使用其PID查找进程名称:
[[email protected] ~]# ps -p 8982 -o comm=
su
查找指定进程名所有的所属PID,在编写需要从std输出或文件读取PID的脚本时这个参数很有用:
[[email protected] ~]# ps -C htttpd,sshd -o pid=
  1720
  2581

列出所有格式说明符
[[email protected] ~]# ps L 
%cpu         %CPU    
%mem         %MEM    
_left        LLLLLLLL
_left2       L2L2L2L2
_right       RRRRRRRR
_right2      R2R2R2R2
_unlimited   U       
_unlimited2  U2      
alarm        ALARM   
args         COMMAND 
atime        TIME    
blocked      BLOCKED 
bsdstart     START   
bsdtime      TIME    
c            C       
.....

检查一个进程的执行时间
[[email protected] ~]# ps -eo comm,etime,user| grep httpd
httpd                 14:13 root
httpd                 13:57 apache
httpd                 13:57 apache
httpd                 13:57 apache
httpd                 13:57 apache
httpd                 13:57 apache
httpd                 13:57 apache
httpd                 13:57 apache
httpd                 13:57 apache

查找占用最多内存和CPU的进程:
[[email protected] ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu |head
   PID   PPID CMD                         %MEM %CPU
  9374   8983 dd if=/dev/zero of=/dev/nul  0.0 99.2
    12      2 [events/1]                   0.0  0.1
     1      0 /sbin/init                   0.0  0.0
     2      0 [kthreadd]                   0.0  0.0
     3      2 [migration/0]                0.0  0.0
     4      2 [ksoftirqd/0]                0.0  0.0
     5      2 [stopper/0]                  0.0  0.0
     6      2 [watchdog/0]                 0.0  0.0
     7      2 [migration/1]                0.0  0.0

用户定义的格式显示安全信息
[[email protected] ~]# ps -eo euser,ruser,suser,fuser,f,comm,label
EUSER    RUSER    SUSER    FUSER    F COMMAND         LABEL
root     root     root     root     4 init            system_u:system_r:init_t:s0
root     root     root     root     1 kthreadd        system_u:system_r:kernel_t:s0
root     root     root     root     1 migration/0     system_u:system_r:kernel_t:s0
root     root     root     root     1 ksoftirqd/0     system_u:system_r:kernel_t:s0
root     root     root     root     1 stopper/0       system_u:system_r:kernel_t:s0
root     root     root     root     1 watchdog/0      system_u:system_r:kernel_t:s0
root     root     root     root     1 migration/1     system_u:system_r:kernel_t:s0
root     root     root     root     1 stopper/1       system_u:system_r:kernel_t:s0
root     root     root     root     1 ksoftirqd/1     system_u:system_r:kernel_t:s0
root     root     root     root     1 watchdog/1      system_u:system_r:kernel_t:s0
root     root     root     root     1 events/0        system_u:system_r:kernel_t:s0
root     root     root     root     1 events/1        system_u:system_r:kernel_t:s0
root     root     root     root     1 events/0        system_u:system_r:kernel_t:s0
root     root     root     root     1 events/1        system_u:system_r:kernel_t:s0
root     root     root     root     1 events_long/0   system_u:system_r:kernel_t:s0

调整优先级命令

nice 命令
  nice [option] [command [arg]...]

没修改之前sleep 默认nice值为0
[[email protected] ~]# ps axo pid,comm,ni
.....
 12556 sleep             0
 12557 ps                0

在命令执行前修改nice值
[[email protected] ~]$ nice -n 10 sleep 100

修改后的nice值
[[email protected] ~]# ps axo pid,comm,ni
 12553 sleep            10
 12554 ps                0

pgrep  搜索进程命令
最灵活:ps 选项 | 其它命令
支持是用正则表达式
pgrep [options] pattern
  -u uid: effective user,生效者
  -U uid: real user,真正发起运行命令者
  -t terminal: 与指定终端相关的进程
  -l: 显示进程名
  -a: 显示完整格式的进程名
  -P pid: 显示指定进程的子进程

查找以ht开头的任意进程
[[email protected] ~]# pgrep -l ^ht.* 
9174 httpd
9249 httpd
9250 httpd
9251 httpd
9252 httpd
9253 httpd
9254 httpd
9255 httpd
9256 httpd

查找以pass开头的进程
[[email protected] ~]# pgrep -l ^pass
12687 passwd

查找以哪个终端的进程
[[email protected] ~]# pgrep -lt pts/0
2585 bash

uptime 命令
显示当前时间,系统已启动的时间、当前上线人数,系统平均负载(1、5、10分钟的平均负载,一般不会超过1)

系统平均负载:
   指在特定时间间隔内运行队列中的平均进程数

[[email protected] ~]# uptime 
 11:08:21 up 1 day,  2:33,  4 users,  load average: 0.00, 0.00, 0.01

top 实时动态地查看系统的整体运行情况
top:有许多内置命令:
  排序:
    P:以占据的CPU百分比,%CPU
    M:占据内存百分比,%MEM
     T:累积占据CPU时长,TIME+
  首部信息显示:
     uptime信息:l命令
     tasks及cpu信息:t命令
     cpu分别显示:1 (数字)
     memory信息:m命令
     退出命令:q
     修改刷新时间间隔:s
     终止指定进程:k
     保存文件:W

栏位信息简介:

us:用户空间
sy:内核空间
ni:调整nice时间
id:空闲
wa:等待IO时间
hi:硬中断
si:软中断(模式切换)
st:虚拟机偷走的时间

选项:
    -d # 指定刷新时间间隔,默认为3秒
    -b 全部显示所有进程
    -n # 刷新多少次后退出
    -H 线程模式,示例:top -H -p `pidof mysqld`

指定刷新时间为1秒,默认为3秒,显示全部进程
[[email protected] ~]# top -d 1 -b 


内存管理和查看命令

内存空间使用状态


free  [option]

  选项:
    -b 以字节为单位
    -m 以MB为单位
    -g 以GB为单位
    -h 易读格式
    -o 不显示-/+buffers/cache行
    -t 显示RAM + swap的总和
    -s n 刷新间隔为n秒
    -c n 刷新n次后即退出

# 能易读格式 -h
[[email protected] ~]# free -h 
             total       used       free     shared    buffers     cached
Mem:          1.8G       1.7G       145M       332K        18M       1.5G
-/+ buffers/cache:       163M       1.7G
Swap:         3.0G         0B       3.0G
[[email protected] ~]# 

# -b 以字节为单位
[[email protected] ~]# free -b
             total       used       free     shared    buffers     cached
Mem:    1950887936 1798332416  152555520     339968   19484672 1607409664
-/+ buffers/cache:  171438080 1779449856
Swap:   3246387200          0 3246387200
[[email protected] ~]# 

指定刷新间隔1秒
[[email protected] ~]# free -h -s 1
             total       used       free     shared    buffers     cached
Mem:          1.8G       1.7G       145M       332K        18M       1.5G
-/+ buffers/cache:       163M       1.7G
Swap:         3.0G         0B       3.0G

指定刷新次数就退出
[[email protected] ~]# free -h -s 2 -c 2
             total       used       free     shared    buffers     cached
Mem:          1.8G       1.7G       145M       332K        18M       1.5G
-/+ buffers/cache:       163M       1.7G
Swap:         3.0G         0B       3.0G

             total       used       free     shared    buffers     cached
Mem:          1.8G       1.7G       145M       332K        18M       1.5G
-/+ buffers/cache:       163M       1.7G
Swap:         3.0G         0B       3.0G

[[email protected] ~]# 

linux进程管理相关命令

vmstat命令: vmstat [options] [delay [count]]
linux进程管理相关命令

procs:
  r:可运行(正运行或等待运行)进程的个数,和核心数有关
  b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
  swpd: 交换内存的使用总量
  free:空闲物理内存总量
  buffer:用于buffer的内存总量
  cache:用于cache的内存总量
swap:
  si:从磁盘交换进内存的数据速率(kb/s)
  so:从内存交换至磁盘的数据速率(kb/s)
io:
  bi:从块设备读入数据到系统的速率(kb/s)
  bo: 保存数据至块设备的速率
system:
  in: interrupts 中断速率,包括时钟
  cs: context switch 进程切换速率
cpu:
  us:Time spent running non-kernel code
  sy: Time spent running kernel code
  id: Time spent idle. Linux 2.5.41前,包括IO-wait time.
  wa: Time spent waiting for IO. 2.5.41前,包括in idle.
  st: Time stolen from a virtual machine. 2.6.11前, unknown.

统计内存数据
[[email protected] ~]# vmstat -s 
      1905164  total memory
      1756192  used memory
       126336  active memory
      1488324  inactive memory
       148972  free memory
        19204  buffer memory
      1569768  swap cache
      3170300  total swap
            0  used swap
      3170300  free swap
        37687 non-nice user cpu ticks
           50 nice user cpu ticks
        98054 system cpu ticks
     21566338 idle cpu ticks
         2842 IO-wait cpu ticks
           37 IRQ cpu ticks
         7100 softirq cpu ticks
            0 stolen cpu ticks
      2362662 pages paged in
      2276586 pages paged out
            0 pages swapped in
            0 pages swapped out
      3285297 interrupts
      2187566 CPU context switches
   1535330071 boot time
        13649 forks

iostat:统计CPU和设备IO信息
示例:iostat 1 10

[[email protected] ~]# iostat 1 10
Linux 2.6.32-754.el6.x86_64 (lvs)       08/28/2018      _x86_64_        (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.17    0.00    0.48    0.01    0.00   99.33

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
scd0              0.00         0.01         0.00        572          0
sda               0.46        43.41        41.87    4721080    4553236
dm-0              0.00         0.02         0.01       1786       1136

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.50    0.00    0.00   99.50

pmap [options] pid [...]
-x: 显示详细格式的信息
示例:pmap 12757
另外一种实现:
  cat /proc/PID/maps

[[email protected] ~]# pmap -x 12757
12757:   vim test
Address           Kbytes     RSS   Dirty Mode   Mapping
0000000000400000    2140    1200       0 r-x--  vim
0000000000817000      92      80      60 rw---  vim
000000000082e000      44      36      36 rw---    [ anon ]
0000000000a2d000      40       8       0 rw---  vim
00000000012c9000    2160    2024    2024 rw---    [ anon ]
00000034cbe00000     128     116       0 r-x--  ld-2.12.so
00000034cc020000       4       4       4 r----  ld-2.12.so
00000034cc021000       4       4       4 rw---  ld-2.12.so
00000034cc022000       4       4       4 rw---    [ anon ]
00000034cc200000       8       8       0 r-x--  libdl-2.12.so
00000034cc202000    2048       0       0 -----  libdl-2.12.so
00000034cc402000       4       4       4 r----  libdl-2.12.so
00000034cc403000       4       4       4 rw---  libdl-2.12.so
00000034cc600000    1580     520       0 r-x--  libc-2.12.so
.....

[[email protected] ~]# cat /proc/12757/maps 
00400000-00617000 r-xp 00000000 08:02 789328                             /usr/bin/vim
00817000-0082e000 rw-p 00217000 08:02 789328                             /usr/bin/vim
0082e000-00839000 rw-p 00000000 00:00 0 
00a2d000-00a37000 rw-p 0022d000 08:02 789328                             /usr/bin/vim
012c9000-014e5000 rw-p 00000000 00:00 0                                  [heap]
34cbe00000-34cbe20000 r-xp 00000000 08:02 653214                         /lib64/ld-2.12.so
34cc020000-34cc021000 r--p 00020000 08:02 653214                         /lib64/ld-2.12.so
34cc021000-34cc022000 rw-p 00021000 08:02 653214                         /lib64/ld-2.12.so
34cc022000-34cc023000 rw-p 00000000 00:00 0 
34cc200000-34cc202000 r-xp 00000000 08:02 653217                         /lib64/libdl-2.12.so

EPEL源监控工具
htop命令: top的升级版,功能更强大
选项:
  -d #: 指定延迟时间;
  -u UserName: 仅显示指定用户的进程
  -s COLUME: 以指定字段进行排序
子命令:
  s: 跟踪选定进程的系统调用
  l: 显示选定进程打开的文件列表
  a:将选定的进程绑定至某指定CPU核心
  t: 显示进程树
linux进程管理相关命令
glances命令:
语法: glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output]

a Sort processes automatically   l Show/hide logs
c Sort processes by CPU%         b Bytes or bits for network I/O
m Sort processes by MEM%         w Delete warning logs
p Sort processes by name         x Delete warning and critical logs
i Sort processes by I/O rate     1 Global CPU or per-CPU stats
d Show/hide disk I/O stats       h Show/hide this help screen
f Show/hide file system stats    t View network I/O as combination
n Show/hide network stats        u View cumulative network I/O
s Show/hide sensors stats        q Quit (Esc and Ctrl-C also work)
y Show/hide hddtemp stats

常用选项:
    -b: 以Byte为单位显示网卡数据速率
    -d: 关闭磁盘I/O模块
    -f /path/to/somefile: 设定输入文件位置
    -o {HTML|CSV}:输出格式
    -m: 禁用mount模块
    -n: 禁用网络模块
    -t #: 延迟时间间隔
    -1:每个CPU的相关数据单独显示

glances是以C/S模式运行的
服务器模式:
glances -s -B IPADDR
也可以不用指定监听哪个地址 默认全部监听
IPADDR: 指明监听的本机哪个地址

服务器上监听192.168.50.130这个地址上
[[email protected] ~]# glances -s -B 192.168.50.130
Glances server is running on 192.168.50.130:61209

客户端
[[email protected] ~]#glances -c 192.168.50.130
      lvs (CentOS 6.10 64bit / Linux 2.6.32-754.el6.x86_64)      Uptime: 1 day, 6:48:53

CPU       3.1%   Load   2-core   Mem     9.3%  active:    137M   Swap    0.0%
user:     1.1%   1 min:   0.17   total: 1.82G  inactive: 1.39G   total: 3.02G
system:   2.0%   5 min:   0.42   used:   174M  buffers:  20.7M   used:      0
idle:    96.9%   15 min:  0.22   free:  1.65G  cached:   1.47G   free:  3.02G

Network    Rx/s    Tx/s   Tasks  131 (200 thr),  1 run, 130 slp,  0 oth
eth0        3Kb   113Kb
eth1         0b      0b    VIRT   RES  CPU%  MEM%   PID NAME
lo           0b      0b    205M   12M   4.7   0.6 13829 glances
                              0     0   0.3   0.0    12 events/1
Disk I/O   In/s   Out/s     19M    2M   0.0   0.1     1 /sbin/init
dm-0          0       0       0     0   0.0   0.0     2 kthreadd
sda1          0       0       0     0   0.0   0.0     3 migration/0
sda2          0       0       0     0   0.0   0.0     4 ksoftirqd/0
sda3          0       0       0     0   0.0   0.0     5 stopper/0
sda4          0       0       0     0   0.0   0.0     6 watchdog/0
sda5          0       0       0     0   0.0   0.0     7 migration/1
                              0     0   0.0   0.0     8 stopper/1
Mount      Used   Total       0     0   0.0   0.0     9 ksoftirqd/1
/         3.29G   19.1G       0     0   0.0   0.0    10 watchdog/1

Connected to 192.168.50.130 | Press 'h' for help                   2018-08-28 05:38:40

dstat 命令: 系统资源统计,代替vmstat,iostat
dstat [-afv] [options..] [delay [count]]
  -c: 显示cpu相关信息
  -C #,#,...,total
  -d: 显示disk相关信息
  -D total,sda,sdb,...
  -g:显示page相关统计数据
  -m: 显示memory相关统计数据
  -n: 显示network相关统计数据
  -p: 显示process相关统计数据
  -r: 显示io请求相关的统计数据
  -s: 显示swapped相关的统计数据
  --tcp
  --udp
  --unix
  --raw
  --socket
  --ipc
  --top-cpu:显示最占用CPU的进程
  --top-io: 显示最占用io的进程
  --top-mem: 显示最占用内存的进程
  --top-latency: 显示延迟最大的进程

[[email protected] ~]# dstat 
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  0   1  99   0   0   0|  21k   21k|   0     0 |   0     0 |  48    20 
  0   1  99   0   0   0|   0     0 |  41M   41M|   0     0 |  10k   44 
  0   0  99   0   0   1|   0     0 |  41M   41M|   0     0 |  10k   44 
  0   0 100   0   0   0|   0     0 |  41M   41M|   0     0 |  10k   49 
  0   0 100   0   0   0|   0  1024k|  41M   41M|   0     0 |  10k   51 
  1   0  99   0   0   0|   0    80k|  39M   39M|   0     0 |9416    50 
  0   1  99   0   0   1|   0     0 |  39M   38M|   0     0 |8684    43 
  0   0 100   0   0   0|   0     0 |  39M   39M|   0     0 |9262    43 
  0   0 100   0   0   0|   0     0 |  41M   41M|   0     0 |  10k   42 
  0   0  99   0   0   1|   0   192k|  41M   41M|   0     0 |  10k   47 
  0   0 100   0   0   0|   0     0 |  38M   38M|   0     0 |9070    41 
  0   0  99   0   0   1|   0     0 |  40M   40M|   0     0 |9825    41 
  0   0 100   0   0   0|   0     0 |  40M   40M|   0     0 |  10k   41 
  0   0 100   0   0   0|   0     0 |  41M   41M|   0     0 |9975    43 
  0   1  99   0   0   0|   0     0 |  41M   41M|   0     0 |  10k   48 
  0   0 100   0   0   0|   0     0 |  40M   40M|   0     0 |9576    47 

lsof: list open files查看当前系统文件的工具。
命令参数:
  -a:列出打开文件存在的进程
  -c<进程名>:列出指定进程所打开的文件
  -g:列出GID号进程详情
  -d<文件号>:列出占用该文件号的进程
  +d<目录>:列出目录下被打开的文件
  +D<目录>:递归列出目录下被打开的文件
  -n<目录>:列出使用NFS的文件
  -i<条件>:列出符合条件的进程(4、6、协议、:端口、 @ip )
  -p<进程号>:列出指定进程号所打开的文件
  -u:列出UID号进程详情
  -h:显示帮助信息
  -v:显示版本信息。
  -n: 不反向解析网络名字

进程管理

查看由登录用户启动而非系统启动的进程
[[email protected] ~]# lsof /dev/pts/0
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash     2585 root    0u   CHR  136,0      0t0    3 /dev/pts/0
bash     2585 root    1u   CHR  136,0      0t0    3 /dev/pts/0
bash     2585 root    2u   CHR  136,0      0t0    3 /dev/pts/0
bash     2585 root  255u   CHR  136,0      0t0    3 /dev/pts/0
glances 13829 root    0u   CHR  136,0      0t0    3 /dev/pts/0
glances 13829 root    1u   CHR  136,0      0t0    3 /dev/pts/0
glances 13829 root    2u   CHR  136,0      0t0    3 /dev/pts/0

指定进程号,查看该进程打开的文件;
[[email protected] ~]# lsof -p 8967
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
bash    8967 root  cwd    DIR    8,2     4096 1044483 /root
bash    8967 root  rtd    DIR    8,2     4096       2 /
bash    8967 root  txt    REG    8,2   942200  915863 /bin/bash
bash    8967 root  mem    REG    8,2   161776  653214 /lib64/ld-2.12.so
bash    8967 root  mem    REG    8,2    23088  653217 /lib64/libdl-2.12.so
bash    8967 root  mem    REG    8,2  1930416  653215 /lib64/libc-2.12.so
bash    8967 root  mem    REG    8,2   134792  653253 /lib64/libtinfo.so.5.7
bash    8967 root  mem    REG    8,2 99174448  784755 /usr/lib/locale/locale-archive
bash    8967 root  mem    REG    8,2    66432  652834 /lib64/libnss_files-2.12.so
bash    8967 root  mem    REG    8,2    26060  785015 /usr/lib64/gconv/gconv-modules.cache
....

文件管理

指定程序打开的文件
[[email protected] ~]# lsof -c httpd
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
httpd   9174   root  cwd    DIR    8,2     4096      2 /
httpd   9174   root  rtd    DIR    8,2     4096      2 /
httpd   9174   root  txt    REG    8,2   367136 798455 /usr/sbin/httpd
httpd   9174   root  mem    REG    8,2     9488 798371 /usr/lib64/apr-util-1/apr_ldap-1.so
httpd   9174   root  mem    REG    8,2    27896 652832 /lib64/libnss_dns-2.12.so
httpd   9174   root  mem    REG    8,2    66432 652834 /lib64/libnss_files-2.12.so
httpd   9174   root  mem    REG    8,2    10416 798451 /usr/lib64/httpd/modules/mod_version.so
httpd   9174   root  mem    REG    8,2    27312 798410 /usr/lib64/httpd/modules/mod_cgi.so
httpd   9174   root  mem    REG    8,2    22992 798417 /usr/lib64/httpd/modules/mod_disk_cache.so
httpd   9174   root  mem    REG    8,2    10384 798447 /usr/lib64/httpd/modules/mod_suexec.so

指定用户打开的文件
[[email protected] ~]# lsof -u root | more
COMMAND     PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
init          1 root  cwd       DIR                8,2     4096          2 /
init          1 root  rtd       DIR                8,2     4096          2 /
init          1 root  txt       REG                8,2   150352    1051071 /sbin/init
init          1 root  mem       REG                8,2    66432     652834 /lib64/libns
s_files-2.12.so
init          1 root  mem       REG                8,2  1930416     653215 /lib64/libc-
2.12.so
init          1 root  DEL       REG                8,2              653235 /lib64/libgc
c_s-4.4.7-20120601.so.1.#prelink#.Ek7K1Q
init          1 root  mem       REG                8,2    47760     653223 /lib64/librt
-2.12.so
init          1 root  mem       REG                8,2   146592     653222 /lib64/libpt
hread-2.12.so
init          1 root  mem       REG                8,2   268240     652925 /lib64/libdb
us-1.so.3.4.0
init          1 root  mem       REG                8,2    39896     653003 /lib64/libni
h-dbus.so.1.0.0
init          1 root  mem       REG                8,2   106016     653005 /lib64/libni
h.so.1.0.0
init          1 root  mem       REG                8,2   161776     653214 /lib64/ld-2.
12.so
init          1 root    0u      CHR                1,3      0t0       4601 /dev/null
.....

指定目录下被打开的文件  
参数+D为递归列出目录下被打开的文件,参数+d为列出目录下被打开的文件
[[email protected] ~]# lsof +D /var/log/
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
auditd    1412   root    5w   REG    8,2   514162 392909 /var/log/audit/audit.log
rsyslogd  1434   root    1w   REG    8,2   163242 392981 /var/log/messages
rsyslogd  1434   root    2w   REG    8,2     1526 392982 /var/log/secure
rsyslogd  1434   root    4w   REG    8,2      335 392980 /var/log/maillog
rsyslogd  1434   root    5w   REG    8,2    29024 392979 /var/log/cron
rsyslogd  1434   root    6w   REG    8,2     2628 391700 /var/log/boot.log
console-k 1891   root    9w   REG    8,2     2053 391701 /var/log/ConsoleKit/history
httpd     9174   root    2w   REG    8,2      709 393074 /var/log/httpd/error_log
httpd     9174   root    7w   REG    8,2      859 393083 /var/log/httpd/access_log
httpd     9249 apache    2w   REG    8,2      709 393074 /var/log/httpd/error_log

[[email protected] ~]# lsof +d /var/log/
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
rsyslogd 1434 root    1w   REG    8,2   163242 392981 /var/log/messages
rsyslogd 1434 root    2w   REG    8,2     1526 392982 /var/log/secure
rsyslogd 1434 root    4w   REG    8,2      335 392980 /var/log/maillog
rsyslogd 1434 root    5w   REG    8,2    29024 392979 /var/log/cron
rsyslogd 1434 root    6w   REG    8,2     2628 391700 /var/log/boot.log

网络管理

查看所有网络连接
[[email protected] ~]# lsof -i -n 
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1720   root    3u  IPv4  14010      0t0  TCP *:ssh (LISTEN)
sshd      1720   root    4u  IPv6  14015      0t0  TCP *:ssh (LISTEN)
master    1799   root   12u  IPv4  14220      0t0  TCP 127.0.0.1:smtp (LISTEN)
master    1799   root   13u  IPv6  14221      0t0  TCP [::1]:smtp (LISTEN)
sshd      2581   root    3u  IPv4  16010      0t0  TCP 192.168.50.130:ssh->192.168.50.1:49430 (ESTABLISHED)
dhclient  5549   root    6u  IPv4  22052      0t0  UDP *:bootpc 
dhclient  5670   root    6u  IPv4  22186      0t0  UDP *:bootpc 
httpd     9174   root    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9249 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9250 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9251 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9252 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9253 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9254 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9255 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd     9256 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
ssh      13753   root    3r  IPv4  52325      0t0  TCP 192.168.50.130:35156->192.168.50.128:ssh (ESTABLISHED)
glances  13829   root    3u  IPv4  52565      0t0  TCP 192.168.50.130:61209 (LISTEN)

# 查看指定IP网络连接
[[email protected] ~]# lsof [email protected]
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     2581 root    3u  IPv4  16010      0t0  TCP 192.168.50.130:ssh->192.168.50.1:49430 (ESTABLISHED)
ssh     13753 root    3r  IPv4  52325      0t0  TCP 192.168.50.130:35156->192.168.50.128:ssh (ESTABLISHED)
glances 13829 root    3u  IPv4  52565      0t0  TCP 192.168.50.130:61209 (LISTEN)

查看指定端口连接情况
[[email protected] ~]# lsof -i :80 -n
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   9174   root    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9249 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9250 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9251 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9252 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9253 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9254 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9255 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)
httpd   9256 apache    4u  IPv6  29668      0t0  TCP *:http (LISTEN)

查看指定进程打开的网络连接数
-i、-a、-p等,-i查看网络连接情况,-a查看存在的进程,-p指定进程
[[email protected] ~]# lsof -i -n -a -p 13829
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
glances 13829 root    3u  IPv4  52565      0t0  TCP 192.168.50.130:61209 (LISTEN)

查看指定状态的网络连接
-n:no host names, -P:no port names,-i TCP指定协议,-s指定协议状态通过多个参数可以清晰的查看网络连接情况、协议连接情况等
[[email protected] ~]# lsof -n -P -i TCP -s TCP:ESTABLISHED
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     2581 root    3u  IPv4  16010      0t0  TCP 192.168.50.130:22->192.168.50.1:49430 (ESTABLISHED)
ssh     13753 root    3r  IPv4  52325      0t0  TCP 192.168.50.130:35156->192.168.50.128:22 (ESTABLISHED)
glances 13829 root    4u  IPv4  55271      0t0  TCP 192.168.50.130:61209->192.168.50.128:41386 (ESTABLISHED)

lsof 还可以用来恢复删除的文件,不过不要重启系统,否则就没戏了

1、查找/var/log/messages文件
[[email protected] ~]# lsof | grep /var/log/messages
rsyslogd   1434      root    1w      REG                8,2   163779     392981 /var/log/messages
2、删除/var/log/messages文件
[[email protected] ~]# rm -rf /var/log/messages
3、在用查找命令发现/var/log/messages被标记为deleted
[[email protected] ~]# lsof | grep /var/log/messages
rsyslogd   1434      root    1w      REG                8,2   163779     392981 /var/log/messages (deleted)
4、找到被删的文件的进程号,到/proc/下指定进程号目录下
[[email protected] ~]# cat /proc/1434/fd/1
Aug 28 01:58:09 lvs dhclient[5670]: DHCPACK from 192.168.112.254 (xid=0x119e82b7)
Aug 28 01:58:11 lvs dhclient[5670]: bound to 192.168.112.128 -- renewal in 849 seconds.
Aug 28 02:05:48 lvs dhclient[5549]: DHCPREQUEST on eth0 to 192.168.50.254 port 67 (xid=0x57ab2d56)
Aug 28 02:05:48 lvs dhclient[5549]: DHCPACK from 192.168.50.254 (xid=0x57ab2d56)
Aug 28 02:05:50 lvs dhclient[5549]: bound to 192.168.50.130 -- renewal in 880 seconds.
Aug 28 02:12:20 lvs dhclient[5670]: DHCPREQUEST on eth1 to 192.168.112.254 port 67 (xid=0x119e82b7)
5、重定向到/var/log/messages里面
[[email protected] ~]# cat /proc/1434/fd/1 > /var/log/messages
6、对比大小,恢复完成
[[email protected] ~]# ll /var/log/messages
-rw-r--r--. 1 root root 163779 Aug 28 16:02 /var/log/messages

kill命令:
  向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头(可省略),不区分大小写
  显示当前系统可用信号: kill –l,trap -l

[[email protected] ~]# kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

[[email protected] ~]# trap -l 
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

常用信号:man 7 signal
  1) SIGHUP: 无须关闭进程而让其重读配置文件
  2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
  3) SIGQUIT:相当于ctrl+\
  9) SIGKILL: 强制杀死正在运行的进程
  15) SIGTERM:终止正在运行的进程
  18) SIGCONT:继续运行
  19) SIGSTOP:后台休眠
指定信号的方法:
  (1) 信号的数字标识:1, 2, 9
  (2) 信号完整名称:SIGHUP
  (3) 信号的简写名称:HUP
按PID:kill [-SIGNAL] pid …
  kill –n SIGNAL pid;kill –s SIGNAL pid
按名称:killall [-SIGNAL] comm…
按模式:pkill [options] pattern
  -SIGNAL
  -u uid: effective user,生效者
  -U uid: real user,真正发起运行命令者
  -t terminal: 与指定终端相关的进程
  -l: 显示进程名(pgrep可用)
  -a: 显示完整格式的进程名(pgrep可用)
  -P pid: 显示指定进程的子进程

转载于:https://blog.51cto.com/dklwj/2165509

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33946605/article/details/92885873

智能推荐

长郡暑假集训_weixin_30408739的博客-程序员ITS203

Day-1今天晚上很愉悦♂快乐啊,表示对于即将到来的集训毫无压力(因为我太年轻了)。还是赶一下暑假作业比较好,今天拿到了NOIP2011的400分,冲一下12年的400分吧。我觉得不错。。。Day1今天考试,好像考的不是很好啊,要被叫谈话了。。转载于:https://www.cnblogs.com/cjgjh/p/9348001.html...

5个python重构技巧以改进您的代码_Thomas_Lean的博客-程序员ITS203_python不修改源码情况下重构

[导语] 重构是在不更改代码功能的情况下提高代码质量的过程。在提交代码之前花一些时间来重构代码可以使代码更具可读性,从而更易于维护。持续执行此操作会发现错误,并从噩梦般的地狱场景添加新功能到公园散步。理想情况下,单元测试将完全覆盖您的代码,使您可以放心地进行更改。如果不是,那么应该尽可能在重构之前添加测试。但是,如果您无法添加测试,则仍然可以通过使用自动化,安全的重构工具来实现很多目标。那么从哪里开始呢?本文包含5件简单的事情,您可以立即做,以使您的代码更易读,更美观。一、删​​除注释掉的代码这是最

Hive 分析函数lead、lag实例应用_kent7306的博客-程序员ITS203_hive lead

Hive的分析函数又叫窗口函数,在oracle中就有这样的分析函数,主要用来做数据统计分析的。Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率,其中over()表示当前查询的结果集对象,括号里面的语句则表示对这个结果集进行处理。

分享炫酷的前端页面滑动验证_小花皮猪的博客-程序员ITS203_滑动验证页面

分享炫酷的前端页面滑动验证直接上代码&lt;%@ page contentType="text/html;charset=UTF-8" language="java" %&gt;&lt;html&gt;&lt;head&gt; &lt;title&gt;Title&lt;/title&gt; &lt;!--引入jquery的js --&gt; &lt;script type="text/javascript" src="../jquery/jquery.js"&gt;&lt

列举 OLTP 型数据库,8a 和 Hadoop 各自所对应的 数据特征_lbfk的博客-程序员ITS203_oltp数据库有哪些

传统 OLTP:主要处理结构化数据,基于行操作,并发度高,热数据,数据量 TB 级别。 MPP:处理结构化数据,基于列集合操作,并发度适中,温数据,即席查询,分析逻辑复杂, 即席查询,数据量在 100TB-PB 级。 Hadoop:处理非结构化数据/半结构数据/结构化数据,批处理,PB 级以上,冷数据,全集 合数据,全表扫描,简单迭代...

随便推点

Mocks Aren't Stubs_This is bill的博客-程序员ITS203

Mocks Aren't StubsThe term 'Mock Objects' has become a popular one to describe special case objects that mimic real objects for testing. Most language environments now have frameworks that make

python pywin32教程_python中pywin32教程Python Excel处理库openpyxl详解_张竞扬 摩尔精英的博客-程序员ITS203

openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pip install openpyxl安装。读取Excel文件需要导入相关函数fromopenpyxlimportload_workbook#默认可读写,若有需要可以指定write_only和read_only为Truewb=load_workbook('pythontab.xlsx')默认打开的文件为可读写,若有...

德卡斯特(deCasteljau)递推公式绘制Bezier曲线_ha0ha0xuexi的博客-程序员ITS203

德卡斯特(deCasteljau)递推公式绘制Bezier曲线德卡斯特递推算法比使用定义算法绘图简单了很多,已经成为绘制Bezier曲线的标准算法;参考上一篇文章添加下面代码: CP2 PP[4][4];//德卡斯特递推数组 void deCasteljau(double t);//德卡斯特递推计算 void DrawdeCasteljauBezier(CDC*pDC);//绘制德卡斯特曲线void CdrawBezierCurveView::deCasteljau(double t){

R语言 第四章 初级绘图(3)核密度图,小提琴图,QQ图,星状图,等高图,固定颜色选择函数,渐变色生成函数,主体调色板,rainbow(),RcolorBrewer包_学习记录wanxiaowan的博客-程序员ITS203_r语言compare函数

绘制其他图形 核密度图sm包中sm.density.compare函数用于绘制核密度图,核密度图是用一条密度曲线而不是通过柱状来展示连续型变量的分布。相比直方图,密度图的一个优势是可以堆放,可用于比较组间差异。sm.density.compare函数可以直接堆放多条密度曲线。使用格式如下。sm.density.compare(x,group,…)其中x是数值向量,group是分组向量,是因子型数据。sm.density.compare函数corrgram(x,order=, lower.pane

输出/输入延迟约束_CuteBaBaKiller的博客-程序员ITS203_输出延迟

数字通信的时序模型主要分为:系统同步、源同步和自同步。详细见【理论篇】IC间通信的时序模型——系统同步、源同步和自同步。 在源同步输出接口中,前级模块/系统为后级目标提供源时钟。 图中的PLL可以是锁相环,还可以是分频/倍频器,甚至是直连线。 在边缘对齐源同步接口中,时钟转换与数据转换同时进行。 ①前级模块/系统的输入端口需要一个基础时钟。

自己动手在阿里云服务器上搭建一套zabbix+grafana监控系统_运维.大白同学的博客-程序员ITS203_zabbix监控阿里云服务器

第一步docker中安装启动grafana看板服务#docker自己研究安装[[email protected] ~]# docker search grafanaNAME DESCRIPTION STARS OFFIC...

推荐文章

热门文章

相关标签