淺談Linux5:瞭解程序
程序
百度百科說……程序就是……
一句話總結:程序就是CPU未完成的工作。
小提綱:
1:ps命令顯示程序資訊並定製顯示格式
2:程序的優先順序
3:程序的前後臺呼叫
4:程序訊號
1:ps命令顯示程序資訊並定製顯示格式
ps
a ##關於當前環境的所有程序
x| -A ##所有程序
f ##顯示程序從屬關係
e ##顯示程序呼叫環境工具的詳細資訊
l ##長列表顯示程序的詳細資訊
u ##顯示程序的使用者資訊
-a ##顯示shell前臺執行命令的程序,但不包含shell本身
定製顯示內容:ps ax -o
例如:ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat
%cpu ##顯示程序cpu負載
%mem ##顯示程序記憶體負載
user
group ##程序組
comm ##程序名稱
nice
pid ##程序的id
stat ##程序狀態
顯示資訊中stat解讀
S ##程序狀態
l ##記憶體中有鎖定空間
N ##優先順序低
< ##優先順序高
+ ##前臺執行
s ##頂級程序
除此之外,我們可能某些情況下還需要根據程序的某一資訊進行排序,比如,按照cpu佔用率降序排列啦。
ps ax -o %cpu,comm --sort <+|-%cpu >
+ ##正序
- ##倒序
%cpu ##cpu負載排序
2:程序的優先順序
程序的優先順序範圍一般是:-20~19
檢視優先順序命令:ps ax -o nice
當然這麼查的時候你會由衷的驚歎……這什麼鬼……
配合其他引數使用更佳哦……不然要這一排數字有個卵用……
老生常談的語句……我們當然也可以改變程序的優先順序啦啦啦啦……用 renice命令實現
比如要把上圖中的systemd的優先順序改變成10
renice -n 10 1 (10代表要改變的優先順序,1代表程序的pid)
實現!!!!!!
*-*
最後一點相關的小知識是,我們可以指定某個優先順序開啟程序。比如,用優先順序5開啟vim
nice -n 優先順序數字 程序名稱
再開啟一個shell,檢視vim的優先順序
(假如搞不清改變程序優先順序和用指定優先順序開啟程序,可以自己模擬實驗一下,評論區解答~~~)
3:程序的前後臺呼叫
jobs ##檢視被打入環境後臺的程序
ctrl+z ##把佔用終端的程序打入後臺
fg jobsnum ##把後臺程序調回前臺
bg jobsnum ##把後臺暫停的程序執行
comm & ##讓命令直接在後臺執行
舉個小例子剩下的自己練習哈
執行gedit後,開啟了gedit編輯面板,但是後臺被佔用,無法執行其他任務
將程序打入後臺,gedit編輯面板未關閉,後臺可執行其他命令。
4:程序訊號
常用訊號等級
1 ##程序重新載入配置
2 ##刪除程序在記憶體中的資料3 ##刪除滑鼠在記憶體中的資料
9 ##強行結束單個程序(不能被阻塞)
15 ##正常關閉程序 (可能會被阻塞)
18 ##執行暫停的程序
19 ##暫停某個程序 (不能被阻塞)
20 ##把程序打入後臺 (可以被阻塞)
man 7 signal ##檢視訊號詳細資訊
運用方式:kill -訊號 程序pid
常用kill -9 來殺死程序
上班遲到了啊喂!!!!!!!有時間再詳細研究研究訊號……欠著……morning*~*