Linux 程序的概念和管理
程序的概念和管理
基本概念
1、在linux中,每個執行的程式都稱為一個程序。每一個程序都分配一個ID號。
2、每一個程序,都會對應一個父程序,而這個父程序可以複製多個子程序。例如WWW伺服器。
3、每個程序都可能以兩種方式存在的。前臺與後臺,所謂前臺程序就是使用者目前的螢幕上可以進行操作的。後臺程序則是實際在操作,但由於螢幕上無法看到的程序,通常使用後臺方式執行。
4、一般系統的服務都是以後臺程序的方式存在,而且都會常駐在系統中。直到關機才會結束。
程序就是正在執行的程式
執行緒(1)輕量級的程序
(2)程序有獨立的地址空間,執行緒沒有
(3)執行緒不能獨立存在,它是由程序建立的。(在linux下是fork,在java下是Thread)
(4)相對來講,執行緒耗費的CPU和記憶體小於程序。
靜態顯示系統執行的程序
ps命令是用來檢視目前系統中,有哪些正在執行,以及它們執行的狀況。可以不加任何引數
顯示詳細的程序資訊
1、 ps -a :意思是說顯示當前終端的所有程序資訊。
2、以使用者的格式顯示程序資訊。
ps -u :以使用者的格式顯示程序資訊。
3、顯示後臺程序執行引數:
ps -x :顯示後臺程序執行的引數。
4、可以使用ps -aux 顯示全面的程序資訊。
PS:顯示的資訊選項
欄位 說明
PID 程序識別號
TTY 終端機號
TIME 此程序所消CPU的時間
CMD 正在執行的命令或程序名
終止程序kill/killall
若是某個程序執行一半需要停止時,或是已消耗了很大的系統資源時,此時可以考慮停止該程序。使用kill命令來完成此項任務。
終止某個程序:kill 程序號
kill 16251 :表示終止程序號為16251的程序。
kill -9 16251 :因為有些程序會捕捉某些訊號。如果直接不能結束程序可以用“-9”傳送資訊。
killall可以清除程序及程序相關的子程序
動態監控程序top 退出top按q鍵或ctrl+c鍵即可退出
top與ps命令很相似。它們都用來顯示正在執行的程序。top與ps最大的不同之處,在於top在執行一段時間可以更新正在執行的程序。
1、監視特定使用者
top :輸入此命令,按回車鍵,檢視執行的程序。
u :然後輸入"u"回車,再輸入使用者名稱,即可。
2、終止指定的程序
top :輸入此命令,按回車鍵,檢視執行的程序。
k :然後輸入"k"回車,再輸入要結束的程序ID號。
3、指定系統狀態更新的時間
top -d 10 :指定系統更新程序的時間為10秒。
14:06:22 up系統時間
4 min, 系統啟動多久
1 user, 當前登陸到linux有多少使用者
load avcragc: 0.02, 0.12, 0.07負載平衡,當前系統的負載情況(可全加除3大
於0.6表示系統負載緊張)
37 processes:當前程序數
36 sleeping, 休眠狀態程序數
1 running, 正在執行程序數
0 zombie,殭屍程序數 程序無用後仍佔用記憶體的程序數
0 stopped處於停止狀態的程序數
CPU states: 0.0% user 0.1% system 0.0% nice 0.0% iowait 99.8% idle
CPU的狀態 idle為CPU閒置狀態(越大越好)
Men: 255264k av, 39420k used, 215836k free, 0k shrd, 5520k buff
30632k actv, 140k in_d, 292k in_c
記憶體使用情況
255264k av,記憶體總數量
39420k used,正在使用記憶體數量
215836k free,空閒記憶體數量
Swap: 257032k av, 0k used, 257032k free 19376k cached
swap分割槽(虛擬記憶體)使用情況
swap: 257032k av,swap分割槽(虛擬記憶體)數量
0k used, 正在使用虛擬記憶體數量
257032k free空閒虛擬記憶體數量
19376k cached快取記憶體
可用此命令進行釋放echo 3 > /proc/sys/vm/drop_caches 一般不刻意去釋放。