zoukankan      html  css  js  c++  java
  • Linux进程管理

    一.进程概念

      进程就是系统未完成并且正在进行的工作

    二.查看进程

    【1】图形方式查看:gnome-system-monitor

    【2】命令方式:ps

    • 参数:-A  表示所有进程     -a   表示在当前环境中运行的进程,不包含环境信息

          -u   显示进程用户信息  a   在当前环境中运行的进程  x   列出系统中所有运行包含tty输出设

          f    显示进程的父子关系  e  显示进程的详细信息(系统资源的调用)

    显示部分结果如下:

     示例:显示进程所有信息(只显示了部分截图)

    [root@localhost mnt]# ps -A
      PID TTY          TIME CMD
        1 ?        00:00:03 systemd
        2 ?        00:00:00 kthreadd
        3 ?        00:00:00 ksoftirqd/0
        5 ?        00:00:00 kworker/0:0H
        7 ?        00:00:00 migration/0
        8 ?        00:00:00 rcu_bh
        9 ?        00:00:00 rcuob/0
       10 ?        00:00:01 rcu_sched
       11 ?        00:00:01 rcuos/0
       12 ?        00:00:00 watchdog/0
       13 ?        00:00:00 khelper
       14 ?        00:00:00 kdevtmpfs

     示例:显示当前环境中运行的进程,没有进程的环境信息

    [root@localhost mnt]# ps -a
      PID TTY          TIME CMD
     7873 pts/0    00:00:00 ps

    示例:显示当前进程的所属关系

    [root@localhost mnt]# ps f
      PID TTY      STAT   TIME COMMAND
     2180 pts/0    Ss     0:01 -bash
     7912 pts/0    R+     0:00  \_ ps f
      590 tty1     Ss+    0:56 /usr/bin/Xorg :0 -background none -verbose -auth /run
     1210 ttyS0    Ss+    0:00 /sbin/agetty --keep-baud ttyS0 115200 38400 9600
    • ps常用组合:

          ps aux      ##显示系统中所有进程并显示进程用户
          ps ef       ##显示进程详细信息并显示进程父子关系
          ps ax      ##显示当前系统中的所有进程

    [root@localhost mnt]# ps ef
      PID TTY      STAT   TIME COMMAND
     2180 pts/0    Ss     0:01 -bash XMODIFIERS=@im=ibus LANG=en_US.UTF-8 USER=root
     7947 pts/0    R+     0:00  \_ ps ef XDG_SESSION_ID=2 HOSTNAME=localhost TERM=x
      590 tty1     Ss+    0:56 /usr/bin/Xorg :0 -background none -verbose -auth /ru
     1210 ttyS0    Ss+    0:00 /sbin/agetty --keep-baud ttyS0 115200 38400 9600 PAT
    • 显示进程指定信息:ps -o xxx 

      参数: comm     ##进程名称

          user       ##进程所有人

          group    ##进程所有组

          %cpu ##进程cpu使用率

          %mem ##进程内存使用率

          pid ##进程id

           nice ##进程优先级

    [root@localhost mnt]# ps -o %cpu,%mem,pid,user,group,nice,comm
    %CPU %MEM   PID USER     GROUP     NI COMMAND
     0.0  0.3  2180 root     root       0 bash
     0.0  0.1  7965 root     root       0 ps
    • 进程排序 :--sort=

        ps ax --sort=+%cpu|-%cpu    ##表示对cpu的使用率进行排序(+有小到大;-由大到小)
        ps ax --sort=+%mem|-%mem   ## 对内存的占用大小排序

    [root@localhost mnt]# ps ax --sort=-%mem -o %mem,user,uid,comm
    %MEM USER       UID COMMAND
    16.1 root         0 gnome-shell
     3.4 root         0 Xorg
     2.5 root         0 nautilus
     2.3 root         0 gnome-settings-
     2.1 root         0 firewalld
     1.9 root         0 goa-daemon
     1.8 root         0 tuned
     1.6 polkitd    999 polkitd
    • stat中显示的信息 :

       S   ##进程状态    l   ##内存中有锁定空间
       N  ##优先级低     <   ##优先级高
       +   ##前台运行    s   ##顶级进程

    三.进程优先级
    【1】进程的优先级范围:-20~19
    【2】优先级查看:ps ax -o pid,nice,comm 

    [root@localhost mnt]# ps a -o pid,nice,comm
      PID  NI COMMAND
      590   0 Xorg
     1210   0 agetty
     2180   0 bash
     8053   0 ps
    【3】指定某个优先级开启进程

       nice -n  优先级数字 进程名称
     示例:开启vim并且指定程序优先级为-5

    [root@localhost mnt]# nice -n -5 vim &
    [1] 8056
    [root@localhost mnt]# ps a -o pid,nice,comm
      PID  NI COMMAND
      590   0 Xorg
     1210   0 agetty
     2180   0 bash
     8056  -5 vim
     8065   0 ps
    [1]+  Stopped                 nice -n -5 vim

    【4】改变进程优先级
      renice -n 优先级数字 进程pid
     示例:改变1806进程的优先级为-5

     8056  -5 vim
     8065   0 ps 
    [root@localhost mnt]# renice -n -20 8056
    8056 (process ID) old priority -5, new priority -2
    四.环境中进程的前后台调用

      jobs         ##查看被打入环境后台的进程
      ctrl+z       ##把占用终端的进程打入后台
      fg jobsnum       ##把后台进程调回前台
      bg jobsnum      ##把后台暂停的进程运行
      comm &      ##让命令直接在后台运行

    五.进程信号

    【1】常用信号等级
        1      ##进程重新加载配置
        2      ##删除进程在内存中的数据
        3      ##删除鼠标在内存中的数据
        9      ##强行结束单个进程(不能被阻塞)
        15       ##正常关闭进程 (可能会被阻塞)
        18       ##运行暂停的进程
        19         ##暂停某个进程 (不能被阻塞)
        20       ##把进程打入后台 (可以被阻塞)
        man 7 signal ##查看信号详细信息

    【2】kill的使用

     kill -信号 进程pid
     killall -信号 进程名字
     pkill -u student -信号

      

    6.用户登记审查

     w      查看当前使用系统的用户有哪些 

     w  -f 查看使用地点

     last  查看用户登录成功历史

    [root@localhost mnt]# w
     11:14:08 up  2:58,  2 users,  load average: 0.02, 0.02, 0.05
    USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
    root     :0        08:17   ?xdm?   8:12   0.11s gdm-session-worker [pam/gdm-
    root     pts/0     08:39    0.00s  1.96s  0.00s w
    [root@localhost mnt]# w -f
     11:15:15 up  2:59,  2 users,  load average: 0.01, 0.02, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     :0       :0               08:17   ?xdm?   8:12   0.11s gdm-session-
    root     pts/0    172.25.254.77    08:39    3.00s  1.96s  0.00s w -f
    [root@localhost mnt]# last
    root     pts/3        172.25.254.77    Wed Jul 25 09:54 - 09:59  (00:04)    
    root     pts/2        :0               Wed Jul 25 09:34 - 09:58  (00:24)    
    root     pts/1        :0               Wed Jul 25 08:39 - 09:58  (01:18)    
    root     pts/0        172.25.254.77    Wed Jul 25 08:39   still logged in   
    root     :0           :0               Wed Jul 25 08:17   still logged in   
    (unknown :0           :0               Wed Jul 25 08:16 - 08:17  (00:00)    
    reboot   system boot  3.10.0-123.el7.x Wed Jul 25 08:16 - 11:15  (02:59)    
    root     pts/2        172.25.254.77    Tue Jul 24 22:40 - 22:54  (00:13)    
    root     pts/1        :0               Tue Jul 24 21:09 - crash  (11:06)    
    root     pts/0        :0               Tue Jul 24 20:01 - crash  (12:14)    
    root     :0           :0               Tue Jul 24 20:01 - crash  (12:15)

    7.进程的动态监控
    【1】命令:top
        1.     ##显示cpu每个核的负载
        s     ##调整刷新频率
        c     ##CPU负载排序
        m     ##内存使用量排序
        h     ##查看帮助
        u     ##查看指定用户进程
        k     ##对指定进程发起信号
        q     ##退出

    [root@localhost mnt]# top

    top - 11:16:24 up  3:00,  2 users,  load average: 0.00, 0.01, 0.05
    Tasks: 146 total,   2 running, 143 sleeping,   1 stopped,   0 zombie
    %Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0
    KiB Mem:    969416 total,   833532 used,   135884 free,      884 buffers
    KiB Swap:        0 total,        0 used,        0 free.   369560 cached Mem

      PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND  
     8148 root      20   0  123632   1556   1096 R  0.3  0.2   0:00.02 top      
        1 root      20   0   50468   3984   2208 S  0.0  0.4   0:03.37 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:00.04 ksoftirq+
        5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/+
        7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migratio+
        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:00.00 rcuob/0  
       10 root      20   0       0      0      0 S  0.0  0.0   0:01.21 rcu_sched
       11 root      20   0       0      0      0 R  0.0  0.0   0:02.01 rcuos/0  
       12 root      rt   0       0      0      0 S  0.0  0.0   0:00.17 watchdog+
       13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper  
       14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
       15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns    
       16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
       17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegri+

  • 相关阅读:
    【IDEA】转大小写快速操作
    【WSDL】WebService描述语言的实践
    【WEB】URL文件
    【BatchProgram】工作用的小工具
    【Java】自制查找工具
    【DataBase】SQL优化问题
    【IDEA】DEBUG调试问题
    【DataBase】XueSQL Training
    【SVN】文件解锁
    【DataBase】SQL45 Training 45题训练
  • 原文地址:https://www.cnblogs.com/uthnb/p/9367848.html
Copyright © 2011-2022 走看看