centos進程管理 詳解

Linux進程管理與監控
1.進程的概念與分類
進程的基本定義: 在自身的虛擬地址空間運行的一個獨立的程序,從操做系統的角度看,全部在系統上運行的東西,均可以稱爲一個進程。linux

進程的分類:
系統進程 : 能夠執行內存資源分配和進程切換管理工做;並且,該進程的運行不受用戶的干預,
即便是root用戶也不能干預系統進程的運行。
用戶進程 :經過執行用戶程序、應用程序或內核以外的系統程序而產生的進程,此類進程能夠在用戶的控制下運行或關閉。
a.交互進程:由一個shell終端啓動的進程,在執行過程當中,須要與用戶進行交互操做,能夠運行於前臺,也能夠運行在後臺。
b.批處理進程:該進程是一個進程集合,負責按順序啓動其它的進程。
c.守護進程: 守護進程是一直運行的進程,常常在linux系統啓動時啓動,在系統關閉時關閉。如crond進程。 shell

二、進程的監控與管理
在linux系統中,進程ID用PID表示,是區分不一樣進程的惟一標識,它們的大小是有限制的,最大ID32768,
用UID和GID分別標識啓動這個進程的用戶和用戶組。全部的進程都是PID爲1的init進程(centos7.x版本後是systemed進程)的後代。
內核是系統啓動的最後階段啓動init進程,於是,這個進程是linux下全部進程的父進程。centos

經常使用的進程管理命令有:
ps、top、lost、pgrep、kill、killall
lsof -p PID: PID是進程號,經過進程號顯示程序打開的全部文件及相關進程。
lsof -i :經過監聽指定的協議、端口、主機等信息,顯示符合條件的進程信息。ssh

lsof經常使用組合:
lsof -c sshd
lsof -g 4918ide

#lsof -p pid (查看該pid進程的詳細信息)
#lsof -c sshd (經過進程名,顯示進程的詳細信息)
#lsof -i :21 (查看21端口打開的進程信息)工具

二、進程的監控與管理
利用pgrep查詢進程ID
pgrep是經過程序的名字來查詢進程pid的工具,它經過檢查程序在系統中活動的進程,輸出進程屬性匹配命令行上指定條件的進程ID。
查看sshd進程對應的全部ID,可執行以下命令:
pgrep命令:也是查看進程pid信息; #pgrep -f ssh(查看ssh進程的pid信息)centos7

用kill終止一個進程:
kill命令的使用語法爲: kill [信號類型] 進程ID
信號類型有不少種,能夠經過kill -l 查看全部信號類型。經常使用的信號類型有SIGKILL,對應的數字爲9,
還有SIGTERM和SIGINT,對應的數字分別爲15和2.
kill -9 進程PID : 表示強制結束進程。
kill -2 進程PID : 表示結束進程,但並非強制性的,經常使用的Ctrl+C組合鍵發出的就是一個kill -2的信號。
kill -15 進程PID :表示正常結束進程,是kill的缺省選項,也就是kill不加任何信號類型時,默認類型就是15.操作系統

用killall終止一個進程:
killall也是關閉進程的一個命令,與kill不一樣的是,killall後面跟的是進程的名字,而不是進程的PID,於是,killall能夠終止一組進程。命令行

kill的使用語法爲:
killall [信號類型] 進程名稱
killall -9 進程名稱 : 表示強制結束進程。
kill -2 進程名稱 : 表示結束進程,但並非強制性的,經常使用的Ctrl+C組合鍵發出的就是一個kill -2的信號。
killall -15 進程名稱 :表示正常結束進程,是kill的缺省選項,也就是kill不加任何信號類型時,默認類型就是15.進程

kill -0: 是對服務的一種試探, # kill -0 5599()

相關文章
相關標籤/搜索