linux-程序管理
阿新 • • 發佈:2018-11-23
-
什麼是程序
程序是一個程式一次執行的過程,它和程式有本質區別。
程式:放置在儲存媒體中(如磁碟,光碟,軟盤,磁帶),以實體檔案的形態存在。
程序:程式被觸發後,執行者許可權與屬性,程式的程式碼與所需資料等都會被載入記憶體中,作業系統給與這個記憶體中的單元一個標識碼(PID),可以說,程序就是一個正在執行中的程式。 -
程序狀態
R(Running):該程式正在執行中:
S(Sleep):該程式目前正在睡眠狀態(idle),但可以被喚醒(signal);
D:不可被喚醒的睡眠狀態,通常程序可能在等待I/O的情況;
T(Stop):停止狀態,可能是在工作控制或出錯狀態;
Z(Zomble):殭屍狀態,程式已經終止但無法被移除之記憶體外; -
檢視程序
- 圖形方式檢視
gnome-system-monitor
- 檢視命令
ps :靜態檢視程序資訊
ps -A ##顯示所有程序。與-e具有相同效用
-a ##不包含環境資訊的所有執行程序,
-u ##顯示程序使用者資訊
a ##顯示在當前環境中執行的程式
x ##列出系統中所有執行包含tty輸出裝置
f ##顯示程序的父子關係
e ##顯示程序的詳細資訊(系統的資源呼叫)
ps ax ##顯示當前系統中的所有程序 ps aux ##顯示系統中所有程序並顯示程序使用者 ps ef ##顯示程序詳細資訊並顯示程序父子關係
- 顯示程序指定資訊
ps -o xxx ##顯示程序的指定資訊
comm ##程序名稱
user ##程序所有人
group ##程序所有組
%cpu ##程序cpu使用率
%mem ##程序記憶體使用率
pid ##程序id
nice ##程序優先順序
-
程序排序
ps ax --sort=+%cpu|-%cpu +%mem|-%mem
例:
- 程序優先順序
S ##程序狀態 L ##記憶體中有鎖定空間 N ##優先順序低 < ##優先順序高 + ##前臺執行 s ##頂級程序
-
優先順序範圍
-20~19 (數字越小,級別越大) -
優先順序檢視
ps ax -o pid,nice,comm
-
改變程序優先順序:
renice -n 優先順序數字 程序id
例:renice -n -5 6574 ##改變6574程序的優先順序為-5 -
指定某個優先順序開啟程序
nice -n 優先順序數字 程序名字
例子:nice -n -5 vim & ##開啟vim
- 環境中程序的前後臺呼叫
在單一終端機介面下同時進行多個工作的管理行為。
jobs ##檢視被打入環境後臺的程序
ctrl+Z ##把佔用終端的程序打入後臺
fg jobsnum ##把後臺程序調回前臺
bg jobsnum ##把後臺暫停的程序執行
comm & ##讓命令直接在後臺執行
- 程序訊號
常用程序訊號的等級
1 程序重新載入配置
2 刪除程序在記憶體中的資料
3 刪除滑鼠在記憶體中的資料
9 強行結束單個程序(不可被阻塞)
15 正常關閉程序(可能會被阻塞)
18 執行暫停的程式
19 暫停某個程序(不能被阻塞)
20 把程序打入後臺(可能被阻塞)
Man 7 signal 檢視訊號詳細資訊
發起訊號
Kill -訊號 程序id
Killall -訊號 程序名字
Pkill -u student -訊號
- 程序的動態監控
top:動態監控程序,檢視程序資訊
top l 顯示CPU每個核的負載
s 調整重新整理頻率
c CPU負載排序
m 記憶體使用量排序
h 檢視幫助
u 檢視指定使用者程序
k 對指定程序發起訊號
q 退出