1. 程式人生 > >淺談Linux5:瞭解程序

淺談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*~*