【Linux】3.10 進程管理(重點)

進程管理

1. 進程管理基礎

  • 在Linux中,每一個執行的程序(代碼)都稱爲一個進程。每一個進程都分配一個ID號
  • 每個進程,都會對應一個父進程,而這個父進程能夠複製多個子進程。例如www服務器。
  • 每一個進程均可能以兩種方式存在。前臺和後臺。
    • 前臺進程:用戶目前的屏幕上能夠進行操做的。
    • 後臺進程:實際在操做,但因爲屏幕上沒法看到的進程,一般使用後臺方式執行。
  • 通常系統的服務都是之後臺進程的方式存在,並且都會常駐在系統中,直到關機才結束。

2. 顯示系統執行的進程

2.1 ps指令詳細介紹

ps [選項]:查看目前系統中,有哪些正在執行,以及它們執行的情況mysql

  • ps -a:顯示當前終端的全部進程信息。
  • ps -u:以用戶的格式顯示進程信息。
  • ps -x:顯示後臺進程運行的參數。
  • ps -axu | grep xxx:過濾獲得xxx的信息。
  • ps -ef:以全格式顯示當前全部的進程,查看進程的父進程。
  • -e:顯示全部進程。
  • -f:全格式。

ps -axu顯示信息選項sql

System V 展現風格vim

字段 說明
USER 用戶說明
PID 進程識別號
%CPU 進程佔用cpu百分比
%MEM 進程佔用物理內存百分比
VSZ 進程佔用虛擬內存大小(KB)
RSS 進程佔用物理內存大小(KB)
TTY 終端機號
STAT 進程狀態,S睡眠,s表明是會話的先導進程,N表明進程擁有比普通進程更高的優先級,R正在運行,D短時間等待,Z僵死進程,T被跟蹤或被中止
STARTED 進程啓動的時間
TIME 此進程所消耗的CPU時間
COMMAND 正在執行的命令或進程名

ps -ef顯示信息解釋服務器

BSD展現風格網絡

字段 說明
UID 用戶id
PID 進程id
PPID 父進程
C CPU用於執行優先級的因子,數值越大,代表cpu密集型運算,執行優先級會下降,數值越小,代表是I/O密集運算,執行優先級會提升
STIME 進程啓動時間
TTY 終端機號
TIME 此進程所消耗的CPU時間
CMD 啓動所用的命令和參數

3. 終止進程

如果某個進程執行一半須要中止時,或是消耗了很大的系統資源時,此時能夠考慮中止該進程,使用kill命令來完成此任務ssh

  • kill [選項] 進程號:經過進程號殺死進程
    • -9:表示強迫進程馬上中止
  • killall 進程名稱:經過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢時頗有用

案例1:踢掉某個非法用戶編輯器

案例2:終止遠程服務測試

案例3:終止多個gedit編輯器3d

案例4: 強制殺掉一個終端rest

4. 查看進程樹

  • 查看進程樹:pstree [選項]
    • -p:顯示進程的PID
    • -u:顯示進程的所屬用戶

5. 服務(Service)管理

服務(Service)本質就是進程,可是是運行在後臺的,一般都會監聽某個端口,等待其它程序的請求,好比(mysql,sshd 防火牆等),所以咱們又稱爲守護進程。

5.1 service管理指令

service管理指令:service 服務名 [start | stop | restart | reload | status]
在CentOS7.0以後,再也不使用service,而是systemctl

  • 查看防火牆狀況:
    • service iptables status
    • systemctl status firewalld(7.0以後的版本)
  • 測試某個端口是否在監聽:telnet

5.2 服務查看方式

  • 方式1:setup指令

  • 方式2:ls -l /etc/init.d/

5.3 服務的運行級別(runlevel)

5.4 開機流程

5.5 chkconfig指令

chkconfig:能夠給每一個服務的各個運行級別設置自啓動/關閉

5.5.1 基本語法

  • 查看xxx服務:chkconfig –list | grep xxx
  • 查看服務的狀態:chkconfig 服務名 --list
  • 給服務的運行級別設置自啓動:chkconfig –level 5 服務名 on/off
  • 要全部運行級別關閉或開啓:chkconfig 服務名 on/off
  • chkconfig從新設置後須要從新啓動才能生效

6. 動態監控進程

top與ps類似,都是用來顯示正在執行的進程,top的不一樣之處在於top執行一段時間能夠更新正在運行的進程

6.1 基本語法

top [選項]

  • -d 秒數:指定top命令每隔幾秒更新。默認是3秒。
  • -i:使top不顯示任何閒置或者僵死進程。
  • -p:經過指定監控進程ID來僅僅監控某個進程的狀態。
  • 交互操做說明:
操做 功能
P 以CPU使用率排序,默認就是此項
M 之內存的使用率排序
N 以PID排序
q 退出top

動態進程監控圖例

6.2 應用案例

6.2.1 監控特定用戶

  1. top查看進程;
  2. u
  3. 輸入用戶名。

6.2.2 終止指定的進程

  1. top查看進程;
  2. k輸入要結束的進程。

7. 查看網絡狀況

7.1 基本語法

netstat [選項]

  • -an:按必定順序排列輸出
  • -p:顯示哪一個進程在調用

7.2 應用案例

  1. 查看全部的網絡服務
    • netstat -anp | more
  2. 查看sshd的服務的信息
    • netstat -anp | grep sshd
相關文章
相關標籤/搜索