1. 程式人生 > >Linux 程序的概念和管理

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 一般不刻意去釋放。