Linux運維基礎進程管理實時監控控制

 更新時間:2021年09月06日 15:04:54   作者:神慕蔡蔡  
這篇文章主要介紹了Linux運維基礎中進程的管理及實時監控控制,有需要的朋友可以借鑒參考下,希望可以有所幫助,共同學習共同進步

1.后臺運行作業

1.sleep 999 & (運行作業)
[root@localhost ~]# sleep 999 &
[1] 3670
2.ps -ef|grep sleep(查看進程)
[root@localhost ~]# ps -ef|grep sleep
root        3670    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3671    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3674    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3677    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3678    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3686     950  0 10:54 ?        00:00:00 sleep 60
3.fg(調最后一個)
[root@localhost ~]# fg
sleep 999
4.jobs(查看任務)
[root@localhost ~]# jobs
[1]                sleep 999 &
[3]                sleep 999 &
[4]                sleep 999 &
[6]-               sleep 999 &
[7]+               sleep 999 
ctr1+z(Done)完成
5.說明
fg %N (調指定的任務)
stopped(停滯狀態)
bg %3 (運行狀態)
+(默認操作的)
-(第二個操作的)

2.使用信號控制進程

基本進程管理信號

信號編號ID 短名稱 定義名 用途
1 HUP 掛起 讓一個進程不用重啟就可以重讀配置文件,并讓新的配置信息生效
2 INT 鍵盤中斷 中斷一個前臺進程。ctrl+c就是用的SIGINT信號
9 KILL 中斷,無法攔截 導致立即終止程序。無法被攔截、忽略或處理
15默認值 TERM 終止 導致程序終止。和SIGKILL不同,可以被攔截、忽略或處理。要求程序終止的友好方式,允許自我清理

kill命令根據ID向進程發送信號。雖其名稱為kill,但該命令可用于發送任何信號,而不僅僅是終止程序的信號

1.查看進程
[root@localhost ~]# ps -ef|grep sleep
root        3670    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3901     950  0 10:59 ?        00:00:00 sleep 60
root        3904    3642  0 10:59 pts/1    00:00:00 grep --color=auto sleep
2.刪除指定任務
[root@localhost ~]# kill %1
[root@localhost ~]# ps -ef|grep sleep
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3901     950  0 10:59 ?        00:00:00 sleep 60
root        3906    3642  0 11:00 pts/1    00:00:00 grep --color=auto sleep
[1]               sleep 999
3.kill -l(列出所有可以支持的程序)
[root@localhost ~]# 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
[root@localhost ~]#
4. kill 3672(刪除進程)
查看進程 
[root@localhost ~]# ps -ef|grep sleep
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3925     950  0 11:00 ?        00:00:00 sleep 60
root        4039    3642  0 11:00 pts/1    00:00:00 grep --color=auto sleep
[root@localhost ~]# kill 3672
[root@localhost ~]# ps -ef|grep sleep
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3925     950  0 11:00 ?        00:00:00 sleep 60
root        4054    3642  0 11:01 pts/1    00:00:00 grep --color=auto sleep
[3]                sleep 99
5.killall sleep(刪除所有sleep)
查看進程:[root@localhost ~]# ps -ef|grep sleep
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        4164     950  0 11:01 ?        00:00:00 sleep 60
root        4174    3642  0 11:01 pts/1    00:00:00 grep --color=auto sleep
成功刪除[root@localhost ~]# ps -ef|grep sleep
root        4185    3642  0 11:02 pts/1    00:00:00 grep --color=auto sleep

3.監控進程活動

IO負載

負載數屬于全局計數器計算,是所有CPU的總和數。

由于從睡眠返回的任務可能會重新調度到不同的CPU,難以精確的每CPU計數,但累計數的準確度可以保障。

顯示的平均負載代表所有的CPU。
顯示負載值,實施監控

[root@localhost ~]# top

1.查看負載
[root@localhost ~]# uptime
 11:12:36 up 45 min,  2 users,  load average: 0.06, 0.01, 0.20
 2.顯示負載值,實施監控
[root@localhost ~]# top
top - 11:15:03 up 47 min,  2 users,  load average: 0.00, 0.00, 0.16
Tasks: 328 total,   1 running, 327 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
MiB Mem :    804.8 total,     67.5 free,    474.7 used,    262.5 buff/cache
MiB Swap:   2048.0 total,   1427.5 free,    620.5 used.    196.8 avail Mem 
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  
   3884 root      20   0       0      0      0 I   0.3   0.0   0:00.57 kworker+ 
   4404 root      20   0   64856   4880   4008 R   0.3   0.6   0:00.17 top      
      1 root      20   0  245372   7252   4356 S   0.0   0.9   0:03.43 systemd  
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd 
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp   
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+ 
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+ 
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+ 
      9 root      20   0       0      0      0 S   0.0   0.0   0:00.24 ksoftir+ 
     10 root      20   0       0      0      0 I   0.0   0.0   0:00.35 rcu_sch+ 
     11 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migrati+ 
     12 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 watchdo+ 
     13 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0  
     15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmp+ 
     16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns    
     17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd  
     18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 khungta+ 
     說明按m t l 
[root@localhost ~]# top
不顯示
按1
顯示cpu信息
 

4.實時進程監控

top用于實現全屏動態顯示系統信息

//top命令交互式子命令:
    M   //根據駐留內存大小進行排序,默認根據CPU百分比排序
    P   //根據CPU使用百分比進行排序
    T   //根據累計時間(占據CPU時長)進行排序
    l   //是否顯示平均負載和啟動時間
    t   //是否顯示進程和CPU狀態相關信息
    m   //是否顯示內存相關信息
    c   //是否顯示完整的命令行信息
    q   //退出top命令
    k   //終止某個進程
    1   //顯示所有CPU的信息
    s   //修改刷新時間間隔
    us  //表示用戶空間;
    sy  //表示內核空間;
    ni  //表示調整nice值,CPU占用的比率;
    id  //表示空閑百分比;
    wa  //表示等待IO完成所占據的時間百分比;
    hi  //表示hard interrupt,硬件中斷占據的時間百分比;
    si  //表示軟中斷占據的時間百分比;
    st  //表示steal,被虛擬化技術偷走的時間(比如運行虛擬機)
PR      //優先級
NI      //nice值
VIRT    //虛擬內存集
RES     //常駐內存集
SHR     //共享內存大小
S       //進程狀態

以上就是Linux運維基礎進程管理實時監控控制的詳細內容,更多關于Linux運維進程的資料請關注腳本之家其它相關文章!

相關文章

  • 關于Linux的mariadb數據庫

    關于Linux的mariadb數據庫

    這篇文章主要介紹了關于Linux的mariadb數據庫的相關資料,主要就是用戶可以對文件中的數據進行新增、截取、更新、刪除等操作,需要的朋友可以參考下面文章內容
    2021-09-09
  • linux如何實現一鍵部署nfs過程圖解

    linux如何實現一鍵部署nfs過程圖解

    這篇文章主要介紹了linux如何實現一鍵部署nfs過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Linux搭建自己Nexus私服的實現方法

    Linux搭建自己Nexus私服的實現方法

    這篇文章主要介紹了Linux搭建自己Nexus私服的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Linux 硬鏈接和軟鏈接詳細介紹

    Linux 硬鏈接和軟鏈接詳細介紹

    這篇文章主要介紹了Linux 硬鏈接和軟鏈接詳細介紹的相關資料,需要的朋友可以參考下
    2016-11-11
  • linux下安裝php擴展memcache的方法

    linux下安裝php擴展memcache的方法

    這篇文章主要介紹了linux下安裝php擴展memcache的方法,需要了解的朋友可以參考下
    2015-07-07
  • 修改sshd默認端口的步驟

    修改sshd默認端口的步驟

    ssh的的默認端口是22,將它修改成別的值會更安全一些,修改步驟看下面介紹
    2014-01-01
  • Linux查看進程的所有信息的方法示例

    Linux查看進程的所有信息的方法示例

    這篇文章主要介紹了Linux查看進程的所有信息的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Linux KVM的QCOW2 和 ROW的詳解及區別介紹

    Linux KVM的QCOW2 和 ROW的詳解及區別介紹

    這篇文章主要介紹了Linux QCOW2 和 ROW的詳解及區別介紹的相關資料,需要的朋友可以參考下
    2016-11-11
  • Ubuntu如何輕松編譯openJDK詳解

    Ubuntu如何輕松編譯openJDK詳解

    這篇文章主要給大家介紹了關于Ubuntu如何輕松編譯openJDK的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • Vim自定義高亮分組以及一些實用技巧小結

    Vim自定義高亮分組以及一些實用技巧小結

    Vim/Vi基本上是*nix世界最受歡迎的編輯器了,不知道為什么,一直以來覺得和Emacs比起來,Vim更加有親和力,用起來很舒服。那么下面這篇文章主要給大家介紹了關于Vim自定義高亮分組以及一些實用技巧的相關資料,需要的朋友可以參考下。
    2017-07-07

最新評論

精品国内自产拍在线观看