在學(xué)習(xí)linux系統(tǒng)的過程中,我們常常需要對其進(jìn)程進(jìn)行管理,那常用的linux進(jìn)程管理工具有哪些呢?今天就和大家一起來分享一二。
linux進(jìn)程管理相關(guān)工具:
pstree ,ps ,pidof ,pgrep ,top ,htop ,glances ,pmap ,vmstat ,kill ,killall ,job ,bg ,fg ,nohup ,nice ,renice ,pkill……
1 、pstree:查看進(jìn)程樹
2 、ps:顯示執(zhí)行命令時間的進(jìn)程狀態(tài)信息
/proc 目錄下存放內(nèi)核中的狀態(tài)信息
進(jìn)程參數(shù)模擬為文件系統(tǒng):存放于/pro/# (#為進(jìn)程號)
用法:
ps [options]
選項:
(BSB風(fēng)格)
a:所有與終端相關(guān)的進(jìn)程
x:所有與終端無關(guān)的進(jìn)程
u:以用戶為中心顯示進(jìn)程
常用組合:ps aux
各字段意義:
VSZ:虛擬內(nèi)存集,占用虛擬內(nèi)存大?。ǚ莝wap)
RSS:常駐內(nèi)存集(Resident Size)
STAT:進(jìn)程狀態(tài)
R:running,運(yùn)行態(tài)
S:interruptable sleeping,可中斷睡眠
D:uninterruptable sleeping,不可中斷睡眠
T:stoped,停止態(tài)
Z:zombie,僵死態(tài)
+:前臺進(jìn)程
l:多線程進(jìn)程
N:低優(yōu)先級進(jìn)程
<:高優(yōu)先級進(jìn)程
s:session leader,會話領(lǐng)導(dǎo)者
(UNIX風(fēng)格)
-e:顯示所有進(jìn)程
-f:顯示完整格式進(jìn)程信息
-H:以層級(樹狀)結(jié)構(gòu)顯示進(jìn)程信息
常組合為:ps –efH:以樹狀結(jié)構(gòu)完整顯示進(jìn)程信息
ps常用組合選項 o
o field1,field2……:自定義要顯示的字段列表,以逗號分隔
常用field:
user:進(jìn)程發(fā)起者
pid:進(jìn)程ID
ni:nice值
prioroty:優(yōu)先級
psr:又哪科cpu運(yùn)行
pcpu:cpu利用率
stat:狀態(tài)
comm:由哪個程序啟動
tty:終端
注:o為選項組合的結(jié)尾
ps axo user,pid,ni,priority,comm,stat
ps -eo user,pid,ni,priority,comm,stat
3 、pgrep:根據(jù)進(jìn)程名字或其他信息來查詢或向進(jìn)程發(fā)送信號
pgrep [options] pattern
[options]
-u UserName:顯示以UserName身份運(yùn)行進(jìn)程的PID
-U UserName:顯示以UserName身份啟動進(jìn)程的PID
-t TERMINAL:顯示與指定終端相關(guān)的進(jìn)程
-l:顯示進(jìn)程名
-a:顯示完整格式進(jìn)程名
-P PID:顯示此進(jìn)程的子進(jìn)程
4 、pidof:根據(jù)指定進(jìn)程名查找其PID
5 、top:動態(tài)顯示進(jìn)程
首行輸出與uptime相同
輸出內(nèi)容依次為:系統(tǒng)時間、運(yùn)行時長、平均負(fù)載(1min,5min,15min)
top內(nèi)部交互式命令
P:以占據(jù)CPU百分比排序
M:以占據(jù)內(nèi)存百分比排序
T:累積占據(jù)CPU時間排序
首部信息的開啟與關(guān)閉:
l:第一行,uptime信息
t:第二、三行,tasks及cpu信息
m:第四、五行,內(nèi)存信息
q:退出
s:修改刷新時間間隔
k:終止指定進(jìn)程(PID)
選項:
-d #:指定刷新時間間隔,默認(rèn)3秒
-b:以批次方式顯示
-n #:顯示多少批次
6 、htop:動態(tài)顯示進(jìn)程信息(需通過epel源安裝)
選項:
-d #:指定刷新時間
-u USERNAME:僅顯示指定用戶的進(jìn)程
-s:以指定字段進(jìn)行排序
子命令:
l:顯示選定進(jìn)程打開的文件列表
s:跟蹤選定進(jìn)程的系統(tǒng)調(diào)用
t:以層級關(guān)系顯示各進(jìn)程狀態(tài)
a:將選定進(jìn)程綁定至指定cpu核心
7 、dstat:動態(tài)顯示各類信息
常用選項:
-c,–cpu:顯示cpu相關(guān)信息
-C #,#……,total:顯示第#顆cpu信息
-d,–disk:顯示磁盤相關(guān)信息
-D sd*……:顯示指定磁盤信息
-g:顯示page相關(guān)速率數(shù)據(jù)
-m:顯示內(nèi)存相關(guān)統(tǒng)計數(shù)據(jù)
-n:顯示interface相關(guān)統(tǒng)計數(shù)據(jù)
-p:顯示process相關(guān)統(tǒng)計數(shù)據(jù)
-r:顯示io請求相關(guān)統(tǒng)計數(shù)據(jù)
-s:顯示swaped相關(guān)統(tǒng)計數(shù)據(jù)
–top-cpu:顯示最占用cpu的進(jìn)程
-io:顯示最占用io的進(jìn)程
-mem:顯示最占用內(nèi)存的進(jìn)程
-lantency:顯示延遲最大的進(jìn)程
8 、kill:終止進(jìn)程,向進(jìn)程發(fā)送信號,管理進(jìn)程
kill –l:顯示可用信號
信號標(biāo)識方法:
1) 信號數(shù)字標(biāo)識
2) 信號完整名稱
3) 信號簡寫名稱(去掉開頭的SIG)
向進(jìn)程發(fā)信號
kill –SIGNAL PID
常用信號:
1)SIGUP:無需關(guān)閉進(jìn)程,使其重讀配置文件
2)SIGINT:終止正在運(yùn)行的進(jìn)程,相當(dāng)于ctrl+c
9)SIGKILL:殺死運(yùn)行中的進(jìn)程
15)SIGTERM:終止運(yùn)行中的進(jìn)程
18)SIGCONT:將后臺進(jìn)程調(diào)到前臺,相當(dāng)于fg
19)SIGSTOP:將程序調(diào)到后臺,相當(dāng)于ctrl+z
9 、killall:關(guān)閉全部進(jìn)程
killall –SIGNAL program:關(guān)閉指定程序名的所有進(jìn)程
文章來源:運(yùn)維部落