Linux之進程管理

進程的基本介紹

  1. 在linux中每個執行的程序(代碼)都稱爲一個進程。每個進程都分配一個ID號。
  2. 每個進程,都會對應一個父進程。而這個父進程可以複製多個子進程。
  3. 一般系統服務都是以後臺進程的方式存在,而且會常駐在系統中。直到關機才結束。

顯示系統執行的進程

查看進程使用的指令是:ps,使用的參數ps -aux

ps -a:顯示當前終端的所有進程信息

ps -u:以用戶的格式顯示進程信息

ps -x:顯示後臺進程運行的參數

•    USER:用戶名稱
•    PID:進程號
•    %CPU:進程佔用 CPU 的百分比
•    %MEM:進程佔用物理內存的百分比
•    VSZ:進程佔用的虛擬內存大小(單位:KB)
•    RSS:進程佔用的物理內存大小(單位:KB)
•    TT:終端名稱,縮寫 .
•    STAT:進程狀態,其中 S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或者被停止等等
•    STARTED:進程的啓動時間
•    TIME:CPU 時間,即進程使用 CPU 的總時間
•    COMMAND:啓動進程所用的命令和參數,如果過長會被截斷顯示

終止進程

kill [選項] 進程號 (功能描述:通過進程號殺死進程)

killall 進程名稱(功能描述:通過進程名殺死進程,也支持通配符)

常用選項:

-9:表示強迫進程立即停止

查看進程樹

pstree [選項],可以更加直觀的來看進程信息

常用選項:

-p:顯示進程的PID

-u:顯示進程的所屬用戶

服務管理

服務(service)本質就是進程,但是是運行在後臺的,通常會監聽某個端口,等待其它程序的請求,比如mysql、sshd、防火牆,因此也稱爲守護進程。

service 管理指令:

service 服務名 [start | stop | restart | reload | status]

在CentOS7.0後,不再使用service,而是使用systemctl

案例:

查看防火牆狀態:service iptables status

關閉防火牆:service iptables stop

開啓防火牆:service iptables start

查看服務名

列出系統有哪些服務:ls -l /etc/init.d/

服務的運行級別(runlevel)

查看或者修改默認級別:vi /etc/inittab

Linux 系統有 7 種運行級別(runlevel):常用的是級別 3 和 5

  • 運行級別 0:系統停機狀態,系統默認運行級別不能設爲 0,否則不能正常啓動
  • 運行級別 1:單用戶工作狀態,root 權限,用於系統維護,禁止遠程登陸
  • 運行級別 2:多用戶狀態(沒有 NFS),不支持網絡
  • 運行級別 3:完全的多用戶狀態(有 NFS),登陸後進入控制檯命令行模式
  • 運行級別 4:系統未使用,保留
  • 運行級別 5:X11 控制檯,登陸後進入圖形 GUI 模式
  • 運行級別 6:系統正常關閉並重啓,默認運行級別不能設爲 6,否則不能正常啓動

chkconfig 指令

通過chkconfig命令可以給每個服務的各個運行級別設置啓動/關閉

基本語法:chkconfig --list

將 sshd 服務在運行級別爲5的情況下,不要自啓動:

chkconfig --level 5 服務名 on/off

案例 1: 請顯示當前系統所有服務的各個運行級別的運行狀態
chkconfig --list
案例 2 :請查看 sshd 服務的運行狀態
service sshd status
案例 3: 將 sshd 服務在運行級別 5 下設置爲不自動啓動,看看有什麼效果?
chkconfig --level 5 sshd off
案例 4: 當運行級別爲 5 時,關閉防火牆。
chkconfig --level 5 iptables off
案例 5: 在所有運行級別下,關閉防火牆
chkconfig iptables off
案例 6: 在所有運行級別下,開啓防火牆
chkconfig iptables on
注意:chkconfig重新設置服務後自啓動或關閉,需要重啓機器reboot才能生效。

動態監控進程

top 與 ps 命令很相似。它們都用來顯示正在執行的進程。Top 與 ps 最大的不同之處,在於 top 在執行一段時間可以更新正在運行的的進程。

基本語法:

top [選項]

選項說明:

-d 秒數:指定top命令每隔幾秒更新,默認是3秒,在top命令的交互模式當中可以執行的命令。

-i:使top命令不顯示任何閒置或者僵死的進程。

-p:通過指定監控進程ID來僅僅監控某個進程的狀態。

交互操作說明:

P 以CPU使用率排序,默認就是此項

M 以內存的使用率排序

N 以PID排序

q 退出top

查看系統網絡情況netstat

基本語法:

netstat [選項]

netstat -anp

選項說明:

-an 按一定順序排列輸出

-p 顯示哪個進程在調用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章