進程管理
程序:保存在磁盤中的可執行文件;是靜態保存的代碼;
進程:在cpu及內存中運行的程序指令;是動態執行的代碼;
進程可以創建一個或多個子進程(父進程被殺死,所有的子進程也會被殺死)
pstree 查看進程樹,可以通過與管道配合使用,init是所有進程的父進程;
pstree -ap 用戶名 可以查看該用戶下開啟的父進程和子進程,可以配合kill殺;
pstree -au 進程號 查看該進程的對應用戶名
ps 查看進程快照
-a:顯示當前終端下所有進程
-u:使用以用戶為主的格式輸出信息
-x:顯示當前用戶在所有終端下的進程
-e:顯示當前系統下的所有進程
- l:使用長格式輸出信息
-f:以完整的格式輸出信息
top 查看動態進程,默認刷新時間是5秒鐘
系統當前登錄時間;系統開機時長;當前登錄用戶數量(登陸界面算,終端也算);load average :平均負載,1分鐘,5分鐘,15分鐘,代表服務器的繁忙程度;
Task(進程數):總計數,運行數,睡眠數,暫停數,僵屍進程數;
CPU狀態:(各種參數) 內存狀態:(各種參數)
主要監控前幾行,下面是進程排名,C(CPU排名),M(內存排名),k(加進程名即可殺死),q(退出)
進程快照中的狀態列:S列
-R(Running):正在運行
-S(Sleep):處於休眠狀態,需要時間喚醒
-D:不可中斷的休眠,叫不醒的情況,通常為等待I/O的情況(等待硬盤讀寫)(若D太多,可能是硬盤磁道有問題了)
-T:停止狀態(stop)
-Z:僵屍狀態,程序終止,但仍然占用內存(殺父進程)
耗費資源小命令: dd if=/dev/zero of=/dev/null ,占用cpu資源
進程管理