如何查看linux進程?
linux下查看進程可以使用的命令:
1、ps命令查找與進程相關的PID號:
2、psa顯示現行終端機下的所有程序,包括其他用戶的程序。
3、ps-A顯示所有程序。
4、psc列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
5、ps-e此參數的效果和指定"A"參數相同。
6、pse列出程序時,顯示每個程序所使用的環境變量。
7、psf用ASCII字符顯示樹狀結構,表達程序間的相互關系。
8、ps-H顯示樹狀結構,表示程序間的相互關系。
9、ps-N顯示所有的程序,除了執行ps指令終端機下的程序之外。
10、pss采用程序信號的格式顯示程序狀況。
11、psS列出程序時,包括已中斷的子程序資料。
12、ps-t終端機編號>指定終端機編號,並列出屬於該終端機的程序的狀況。
linux怎麽查看壹個進程的執行狀態?
1,寫壹個服務,用exec或popen執行ps的命令行,根據該進程的名字獲取該進程的pid。
sprintf(cmd,"ps-ef|grep%s",name);
pstr=popen(cmd,"r");
然後php定時的請求這個機器上的進程狀態,如果進程掛掉了,可以做個預警。
2,如果想做的更多,監視當前每個進程的資源消耗,比如CPU,內存,根據進程的id,可以去拿到/proc/pid/status中的壹些數據,比如:
//獲取進程占用內存
unsignedintget_proc_mem(unsignedintpid){
charfile_name={0};
FILE*fd;
charline_buff={0};
sprintf(file_name,"/proc/%d/status",pid);
fd=fopen(file_name,"r");
if(nullptr==fd){
return0;
}
charname;
intvmrss;
for(inti=0;iVMRSS_LINE-1;i++){
fgets(line_buff,sizeof(line_buff),fd);
}
fgets(line_buff,sizeof(line_buff),fd);
sscanf(line_buff,"%s%d",name,vmrss);
fclose(fd);
returnvmrss;
}
然後妳就可以通過壹些圖形做壹些動態展示了。
linux什麽命令查看程序運行狀態?
查看系統所有正在運行的進程,可以用psaux命令(它的-a參數表示,不與終端有關的進程也顯示出來)。還有壹個和ps命令相似的命令是pstree,pstree命令用於列出正在運行的進程的進程樹,所謂進程樹就是顯示有關系的進程的相關性,也就是顯示父子進程之間的關系。pstree命令的常見用法是:pstree-Aup
-A參數表示:顯示出來的進程樹連接,用ASCII字符來顯示
-u參數表示:列出進程的所屬用戶
-p參數表示:列出每個進程的PID
ps命令和pstree命令是選取壹個時間點的進程狀態,還有壹個top命令可以持續檢測進程運行狀態,它顯示的是動態的信息,有點像Windows的任務管理器(不過top命令是命令行),使用方法:
top-d數字
-d參數後面接壹個數字表示幾秒更新壹次顯示,壹般可以設置成2,表示2秒壹更新。
如何查看當前Linux系統的狀態?
可以用TOP工具查看實時狀態。
top進入視圖:
第壹行:10:01:23當前系統時間126days,14:29系統已經運行了126天14小時29分鐘(在這期間沒有重啟過)2users當前有2個用戶登錄系統loadaverage:1.15,1.42,1.44loadaverage後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。
loadaverage數據是每隔5秒鐘檢查壹次活躍的進程數,然後按特定算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。第二行:Tasks任務(進程),系統現在***有183個進程,其中處於運行中的有1個,182個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有0個。第三行:cpu狀態6.7%us用戶空間占用CPU的百分比。0.4%sy內核空間占用CPU的百分比。0.0%ni改變過優先級的進程占用CPU的百分比92.9%id空閑CPU百分比0.0%waIO等待占用CPU的百分比0.0%hi硬中斷(HardwareIRQ)占用CPU的百分比0.0%si軟中斷(SoftwareInterrupts)占用CPU的百分比
第四行:內存狀態8306544ktotal物理內存總量(8GB)7775876kused使用中的內存總量(7.7GB)530668kfree空閑內存總量(530M)79236kbuffers緩存的內存量(79M)第五行:swap交換分區2031608ktotal交換區總量(2GB)2556kused使用的交換區總量(2.5M)2029052kfree空閑交換區總量(2GB)4231276kcached緩沖的交換區總量(4GB)
如何查看linux正在運行的進程?
使用搜索功能搜索“Terminal”,打開Ubuntu命令行終端。
通過控制臺Terminal,執行ps的幫助命令“ps--helpa”查看ps命令支持的參數列表。
在控制臺,使用命令“ps-A”查看當前系統所有的進程。
在控制臺使用ps命令“ps-aux|less”,查看當前系統正在運行的所有進程。
在控制臺使用ps命令“ps-Uroot-uroot-N”,查看當前系統中非root運行的所有進程。
6在控制臺使用ps命令“ps-utest”,查看當前系統中test用戶運行的所有進程。