Liunx運維(九)-Liunx進程管理命令
文檔目錄:
—————————————分割線:正文——————————————————–
1、ps #當前終端窗口的進程 PID進程標識符 TTY進程所屬的終端控制台 TIME進程所使用的總的CPU時間 CMD正在執行的命令行
2、ps -ef #使用UNIX格式輸出每個進程資訊 UID進程所屬UID,PPID父進程 C為cpu佔比 STIME進程開始時間 tty無法終端?本地tty1-6,網路pts/0
3、ps -ef | grep ssh #過濾進程
4、 ps aux #使用BSD格式顯示進程資訊 vsz虛擬記憶體量 stat該進程的狀態:r運行S中斷睡眠d不可中斷睡眠t偵測/停止z終止+前台l多執行緒N低優先順序<高優先順序s進程領導者L頁面鎖定到記憶體
5、ps -u root # UNIX格式參數,使用用戶的相關進程
6、 ps -l #以詳細的格式顯示進程狀態 PRI:優先執行順序 NI-nice值 ADDR-進程在記憶體哪個部分,running一般是- SZ使用掉記憶體大小 WCHAN-目前進程是否運行中-正在運
7、ps -eH #-e顯示所有進程,-H參數顯示進程數,UNIX格式
8、ps axf|grep ssh #ax顯示所有進程,f顯示進程數,BSD格式
9、ps -eo ‘%P%y%x%c’|grep ssh #輸出指定欄位 通過man ps查詢欄位 p-ppid y-tty x-time c-command
10、ps -eo pid,user,args –sort pid | grep ssh #標準格式輸出指定欄位 ,並且根據某個欄位排序
1、pstree #不指定進程pid號,或者不指定用戶名,即以init進程為根進程,顯示系統所有進程資訊
2、pstree root #顯示指定用戶的進程
3、pstree -u #顯示進程所屬的用戶組
1、pgrep crond #顯示指定進程的pid,結合ps與grep功能
2、pgrep -u root #-u顯示指定root用戶的所有進程號
1、kill -l #顯示系統的所有訊號
2、kill -l SIGKILL #對訊號名與數字進行互換
3、常用訊號說明:
HUP(1):掛起-通常因終端掉線或用戶退出而引發
INT(2):中斷-通常是按下ctrl+c組合鍵來觸發
QUIT(3):退出-通常是按下ctrl+\組合鍵來觸發
KILL(9):立即結束進程的運行
TERM(15):終止-通常在系統關機時發送
TSTP(20):暫停進程的運行-通常是按下ctrl+z組合鍵來觸發
4、kill 1474 #默認使用訊號15終止進程,常用
5、kill -9 1474 #強制關閉進程
6、kill -0 1474 #特殊訊號,用於進程檢查
1、killall crond #終止定時服務進程
2、killall -w crond #-w會看到等待幾秒後結束命令操作
3、killall -u lulu nginx #終止lulu用戶的所有nginx進程
1、pkill crond #終止定時任務進程
2、pkill -t tty1 #-t殺死指定終端的進程(正在編輯/etc/rc.local)
3、pkill -u root #殺死指定用戶的所有進程
1、top #互動式命令
說明:
第一行:任務列隊資訊,同uptime命令的執行結果,包含:當前系統時間,系統運行時間,當前登錄的用戶,1m/5m/15m的平均負載情況
第二行:tasks為任務(進程),系統共104個進程,其中運行中1個,103個休眠,0個stoped,0個僵死
第三行:cpu狀態:us-用戶空間佔比,sy-內核空間佔比,ni-改變過優先順序的進程佔比,id-空閑cpu佔比,wa-i/o等待佔比,hi-硬中斷佔比,si-軟中斷佔比,st-虛擬機佔比
第四行:記憶體狀態:total-物理記憶體總量,used-使用中記憶體總量,free-空閑記憶體總量,buffers-緩衝的記憶體量
第五行:swap交換分區資訊:total-交換區總量,used-使用的交換區總量,free-空閑交換區總量,cached-快取的記憶體量
第六行:空行
第七行:各進程的狀態監控:PID-進程id,USER-進程所有者,
2、top再按照1:顯示多核不同cpu的資訊
3、top -b #以批處理模式顯示進程資訊,不停向下刷新
4、top -c #使用參數-c顯示進程的完整路徑
5、top -d 3 #指定更新周期為3秒
6、top -n 2 #指定更新次數為2次後退出
7、top -p 1403 #-p指定進程號監控
8、top中b、z、x為高亮顯示,> 與 < 可以向右或向左改變排序列
1、nice #顯示當前系統默認的程式運行優先順序為0
2、nice nice #以默認值10來調整第二個nice命令運行的優先順序
3、nice nice nice #第二個nice命令運行優先順序的基礎上再加10,為20,但是最小程式運行優先順序為19
4、ps -l #查看進程的優先順序(PRT越小優先順序越高,NI-優先值)
5、nice -n -10 vim test2 & 使用nice調整為-10
renice -n -5 -p 1471 #-p指定值為2711的進程,調整NI值為5
nohup命令將輸出重定向到終端,默認當前目錄的nohup.out文件中,如果當前目錄文件不可寫,則輸出重定向到$HOME/nohup.out文件中
1、nohup ping www.baidu.com #當前終端已hang住,此時強制關閉當前終端,ping命令依然會在後台運行
另一個ssh終端打開
2、nohup ping www.baidu.com & #一般nohup配合&運行,讓程式直接後台運行
用於檢查一個應用程式所使用的系統調用以及它接收的系統資訊。strace會追蹤程式運行時整個生命周期,輸出每一個系統調用的名字、參數、返回值、消耗時間等,是高級運維和開發人員排查問題的殺手鐧
1、strace -tt -f /usr/bin/ping #-f跟蹤目標進程,以及子進程,-tt每一行前加上時間資訊
2、strace -tt -f -e trace=file /usr/bin/ping #trace=file只跟蹤與文件操作有關的系統調用
3、strace -tt -f -e trace=file -p 1597 #-p跟蹤指定的進程
4、strace -c /usr/bin/ping #-c為進程所有系統調用做一個統計分析
5、strace -c -o tongji.log /usr/bin/ping #-o將strace結果輸出到文件
6、strace -T /usr/bin/ping #-T將每個系統調用花費的時間列印出來,花銷在調用行最右邊的尖括弧內
ltrace能跟蹤顯示調用了哪個庫函數,用法與strace非常相似
1、ltrace /usr/bin/ping #ltrace接需要檢測的命令語句
2、ltrace -p 1665 #-p跟蹤指定進程號
1、runlevel #查看當前系統的運行級別
2、系統級別說明
0:停機
1:單用戶模式
2:無網路的多用戶模式
3:多用戶模式
4:未使用
5:圖形介面多用戶模式
6:重啟
init為liunx下進程初始化工具,是所有Liunx進程的父進程,根據/etc/inittab創建Liunx進程
1、init 0 #關機
2、init 6 #重啟
service用於對系統服務進行管理:比如start、stop、restart、reload、status等,CentOs7里被systemctl取代
1、service –status-all #顯示所有服務狀態
2、service crond stop #停止服務
3、service crond start #啟動服務
4、 service crond restart #重啟服務
5、service crond status #查看服務狀態