美文网首页
进程管理( ps pstree top kill )

进程管理( ps pstree top kill )

作者: 感光狗 | 来源:发表于2019-07-11 14:02 被阅读0次

    查看所有进程

    #查看系统中所有进程,使用BSD操作系统格式
    ps aux 
    --
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.1 190900  2576 ?        Ss   Jun29   0:32 /usr/lib/systemd/systemd --swroot         2  0.0  0.0      0     0 ?        S    Jun29   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    Jun29   0:02 [ksoftirqd/0]
    root         5  0.0  0.0      0     0 ?        S<   Jun29   0:00 [kworker/0:0H]
    root         7  0.0  0.0      0     0 ?        S    Jun29   0:00 [migration/0]
    
    #查看系统中所有进程,使用LINUX标准命令格式
    ps -le
    
    

    选项

    -a  显示一个终端的所有进程,除了会话引线
    -u 显示进程的归属用户及内存的使用情况
    -x 稀释没有控制终端的进程
    -l 长格式显示。显示更加详细的信息
    -e 显示所有进程,和-A的作用一致
    

    参数

    USER -> 进程所属用户
    PID -> 进程号( 越小说明启动得越早,1是第一个启动得进程 /sbin/init
    %CPU -> 进程CPU的占有率
    %MEM -> 进程内存的占有率
    VSZ -> 该进程占用虚拟内存的大小,单位KB
    RSS -> 该进程占用实际物理内存的大小,单位KB
    TTY -> 该进程是在哪个终端中进行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端
    如果是?,说明是系统启动的进程
    STAT -> 进程状态
    R 运行,S 睡眠,T 停止状态, s 包含子进程 ,+ 位于后台
    START 该进程启动的时间
    TIME 该进程占用CPU的运算时间,不是系统时间
    COMMAND 产生此进程的命令名
    

    pstree命令

    #pstree
    systemd─┬─AliYunDun───18*[{AliYunDun}]
            ├─AliYunDunUpdate───3*[{AliYunDunUpdate}]
            ├─PM2 v3.2.2: God─┬─node /home/site───5*[{node /home/site}]
            │                 ├─2*[node /home/site───9*[{node /home/site}]]
            │                 └─9*[{PM2 v3.2.2: God}]
            ├─agetty
            ├─aliyun-service───5*[{aliyun-service}]
            ├─atd
            ├─auditd───{auditd}
            ├─crond
            ├─dbus-daemon
            ├─mongod───19*[{mongod}]
            ├─nginx───2*[nginx]
            ├─ntpd
            ├─php-fpm───35*[php-fpm]
            ├─polkitd───5*[{polkitd}]
            ├─rsyslogd───2*[{rsyslogd}]
            ├─sshd───sshd───bash───pstree
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-udevd
            ├─tuned───4*[{tuned}]
            └─vsftpd
    

    top

    top [ -d -b -n ]
    ------------------
    选项
    -d 秒数:指定top命令每隔几秒更新。默认是3秒
    -b 使用批处理模式输出。一般和“ -n ”选项合用
    -n 次数: 指定top命令执行的次数。一般和“-b”选项合用
    -------------------
    在top命令的交互模式当中可以执行的命令
    P : 以CPU使用率排序,默认就是此项
    M : 以内存的使用率进行排序
    N : 以PID进行排序
    q : 退出top
    --------------------
    top - 14:31:44 up 12 days, 27 min,  1 user,  load average: 0.15, 0.15, 0.14
    Tasks: 105 total,   2 running, 103 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.7 us,  0.0 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1883496 total,   680228 free,   973964 used,   229304 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.   747656 avail Mem
    
        1 root      20   0  190900   2580   1264 S  0.0  0.1   0:32.90 systemd
     1723 mongodb   20   0 1022064  33072      0 R  0.3  1.8  38:43.05 mongod
     2365 root      20   0  951328  70536   3428 S  0.3  3.7   8:48.34 node /home/site
     2383 root      20   0 1264828  86848   4216 S  0.3  4.6  11:13.50 node /home/site
    10232 root       0 -20  131168   7780   1748 S  0.3  0.4   7:37.60 AliYunDun
        1 root      20   0  190900   2580   1264 S  0.0  0.1   0:32.90 systemd
        2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
        3 root      20   0       0      0      0 S  0.0  0.0   0:02.38 ksoftirqd/0
        5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
        7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
        8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
        9 root      20   0       0      0      0 S  0.0  0.0   0:56.75 rcu_sched
       10 root      rt   0       0      0      0 S  0.0  0.0   0:03.79 watchdog/0
       12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
       13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
       14 root      20   0       0      0      0 S  0.0  0.0   0:00.25 khungtaskd
       15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
       16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd
       17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
       18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd
       19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 md
       25 root      20   0       0      0      0 S  0.0  0.0   0:08.78 kswapd0
       26 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd
       27 root      39  19       0      0      0 S  0.0  0.0   0:03.01 khugepaged
       28 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto
       36 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kthrotld
       38 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kmpath_rdacd
       39 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kpsmoused
       40 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 ipv6_addrconf
       59 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 deferwq
    

    杀死进程

    杀死单个进程
    kill [ -options -signal ] pid
    
    杀死所有同类进程
    killall [ -option -signal ] pid 
    ---------------------------
    -t 按照终端号踢出用户
    
    ---------------------------
    信号
    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
    ->
    1 SIGNUP 该信号让进程立即关闭,然后重新读取配置文件后重启(平滑重启)
    kill [ -1 -HUP ] pid 重启应用但是不踢出已经登录的用户->
    ->
    9 SIGKILL 用来立即结束程序的运行,本信号不能被阻塞,处理和武略。一般用于强制终止进程
    kill [ -9 ] pid 
    

    killall pkill

    #杀死所有和进程名字相关的进程
    killall -9 httpd
    -i 交互式询问是否要杀死进程
    -I 忽略进程名的大小写
    
    pkill -9 [-t] https ( -signal和-options不能互换顺序)
    -t 根据终端号来踢出用户
    
    #显示当前在线用户
    w
    --------------------------
     15:20:31 up 12 days,  1:15,  1 user,  load average: 0.05, 0.03, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    116.239.24.142   14:26    7.00s  0.01s  0.00s w
    
    #强制踢出从pts/0终端进来的用户
    pkill -9 -t pts/0
    

    进程优先级

    linux操作系统是一个多用户,多任务的操作系统,Linux系统中通知运行着非常多的进程。但是CPU在同一时钟周期内只能运算一个指令。进程优先级决定了每个进程处理的先后顺序

    • PRI代表priority ,NI代表nice。这两个值都是优先级,数字越小代表优先级越高
    • NI的值的范围是-20到19
    • 普通用户调整NI的值的范围是0-19,而且只能调整自己的进程
    • 普通用户只能调高NI值,而不能降低,如原本NI的值为0,则只能调整大于0
    • root用户才能设定进程NI为负值,而且可以调整任何用户的进程
    • PRI(最终值)= PRI(原始值) + NI
    • 用户只能修改 NI 的值,不能直接修改 PRI
    ps -le
    ----------------------
    F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0     1     0  0  80   0 - 47725 ep_pol ?        00:00:33 systemd
    1 S     0     2     0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
    1 S     0     3     2  0  80   0 -     0 smpboo ?        00:00:02 ksoftirqd/0
    1 S     0     5     2  0  60 -20 -     0 worker ?        00:00:00 kworker/0:0H
    1 S     0     7     2  0 -40   - -     0 smpboo ?        00:00:00 migration/0
    

    renice [优先级] PID

    renice -10 2125
    

    相关文章

      网友评论

          本文标题:进程管理( ps pstree top kill )

          本文链接:https://www.haomeiwen.com/subject/snorkctx.html