Liunx運維(九)-Liunx進程管理命令

文檔目錄:nginx

1、ps:查看進程小程序

2、pstree:查看進程狀態樹vim

3、pgrep:查找匹配條件的進程緩存

4、kill:終止進程網絡

5、killall:經過進程名終止進程多線程

6、pkill:經過進程名種植進程運維

7、top:實時顯示系統中各個進程的資源佔用情況ssh

8、nice:調整程序運行時的優先級函數

9、renice:調整運行中的進程的優先級工具

10、nohup:用戶退出系統進程繼續工做

11、strace:跟蹤進程的系統調用

12、ltrace:跟蹤進程調用庫函數

十3、runlevel:輸出當前運行級別

十4、init:初始化Liunx進程

十5、service:管理系統服務

---------------------------------------分割線:正文--------------------------------------------------------

1、ps:查看進程

一、ps #當前終端窗口的進程 PID進程標識符 TTY進程所屬的終端控制檯 TIME進程所使用的總的CPU時間 CMD正在執行的命令行

 二、ps -ef #使用UNIX格式輸出每一個進程信息 UID進程所屬UID,PPID父進程 C爲cpu佔比 STIME進程開始時間 tty沒法終端?本地tty1-6,網絡pts/0

 三、ps -ef | grep ssh #過濾進程

 四、 ps aux #使用BSD格式顯示進程信息 vsz虛擬內存量 stat該進程的狀態:r運行S中斷睡眠d不可中斷睡眠t偵測/中止z終止+前臺l多線程N低優先級<高優先級s進程領導者L頁面鎖定到內存

 五、ps -u root # UNIX格式參數,使用用戶的相關進程

 六、 ps -l #以詳細的格式顯示進程狀態 PRI:優先執行順序 NI-nice值 ADDR-進程在內存哪一個部分,running通常是- SZ使用掉內存大小 WCHAN-目前進程是否運行中-正在運

 七、ps -eH #-e顯示全部進程,-H參數顯示進程數,UNIX格式

八、ps axf|grep ssh #ax顯示全部進程,f顯示進程數,BSD格式

 九、ps -eo '%P%y%x%c'|grep ssh  #輸出指定字段 經過man ps查詢字段 p-ppid y-tty x-time c-command

 十、ps -eo pid,user,args --sort pid | grep ssh  #標準格式輸出指定字段 ,而且根據某個字段排序

 

2、pstree:查看進程狀態樹

一、pstree #不指定進程pid號,或者不指定用戶名,即以init進程爲根進程,顯示系統全部進程信息

 二、pstree root #顯示指定用戶的進程

 三、pstree -u #顯示進程所屬的用戶組

 

 3、pgrep:查找匹配條件的進程

一、pgrep crond #顯示指定進程的pid,結合ps與grep功能

 二、pgrep -u root #-u顯示指定root用戶的全部進程號

 

 4、kill:終止進程

一、kill -l #顯示系統的全部信號

 二、kill -l SIGKILL #對信號名與數字進行互換

三、經常使用信號說明:

HUP(1):掛起-一般因終端掉線或用戶退出而引起

INT(2):中斷-一般是按下ctrl+c組合鍵來觸發

QUIT(3):退出-一般是按下ctrl+\組合鍵來觸發

KILL(9):當即結束進程的運行

TERM(15):終止-一般在系統關機時發送

TSTP(20):暫停進程的運行-一般是按下ctrl+z組合鍵來觸發

四、kill 1474 #默認使用信號15終止進程,經常使用

 五、kill -9 1474 #強制關閉進程

  六、kill -0 1474 #特殊信號,用於進程檢查

 

 5、killall:經過進程名終止進程

一、killall crond #終止定時服務進程

 二、killall -w crond #-w會看到等待幾秒後結束命令操做

三、killall -u lulu nginx #終止lulu用戶的全部nginx進程

 

 6、pkill:經過進程名種植進程

一、pkill crond #終止定時任務進程

 二、pkill -t tty1 #-t殺死指定終端的進程(正在編輯/etc/rc.local)

 三、pkill -u root #殺死指定用戶的全部進程

 

7、top:實時顯示系統中各個進程的資源佔用情況

一、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-進程全部者,

 二、top再按照1:顯示多核不一樣cpu的信息

 三、top -b #以批處理模式顯示進程信息,不停向下刷新

四、top -c #使用參數-c顯示進程的完整路徑

 五、top -d 3 #指定更新週期爲3秒

六、top -n 2 #指定更新次數爲2次後退出

七、top -p 1403 #-p指定進程號監控

 八、top中b、z、x爲高亮顯示,> 與 < 能夠向右或向左改變排序列

 

8、nice:調整程序運行時的優先級

一、nice #顯示當前系統默認的程序運行優先級爲0

 二、nice nice #以默認值10來調整第二個nice命令運行的優先級

 三、nice nice nice #第二個nice命令運行優先級的基礎上再加10,爲20,可是最小程序運行優先級爲19

 四、ps -l #查看進程的優先級(PRT越小優先級越高,NI-優先值)

 五、nice -n -10 vim test2 & 使用nice調整爲-10

 

9、renice:調整運行中的進程的優先級

renice -n -5 -p 1471 #-p指定值爲2711的進程,調整NI值爲5

 

10、nohup:用戶退出系統進程繼續工做

nohup命令將輸出重定向到終端,默認當前目錄的nohup.out文件中,若是當前目錄文件不可寫,則輸出重定向到$HOME/nohup.out文件中

一、nohup ping www.baidu.com #當前終端已hang住,此時強制關閉當前終端,ping命令依然會在後臺運行

 另外一個ssh終端打開

 二、nohup ping www.baidu.com & #通常nohup配合&運行,讓程序直接後臺運行

 

11、strace:跟蹤進程的系統調用

用於檢查一個應用程序所使用的系統調用以及它接收的系統信息。strace會追蹤程序運行時整個生命週期,輸出每個系統調用的名字、參數、返回值、消耗時間等,是高級運維和開發人員排查問題的殺手鐗

一、strace -tt -f /usr/bin/ping #-f跟蹤目標進程,以及子進程,-tt每一行前加上時間信息

 二、strace -tt -f -e trace=file /usr/bin/ping #trace=file只跟蹤與文件操做有關的系統調用

 三、strace -tt -f -e trace=file -p 1597 #-p跟蹤指定的進程

 四、strace -c /usr/bin/ping #-c爲進程全部系統調用作一個統計分析

 五、strace -c -o tongji.log /usr/bin/ping #-o將strace結果輸出到文件

 六、strace -T /usr/bin/ping #-T將每一個系統調用花費的時間打印出來,花銷在調用行最右邊的尖括號內

 

12、ltrace:跟蹤進程調用庫函數

ltrace能跟蹤顯示調用了哪一個庫函數,用法與strace很是類似

一、ltrace /usr/bin/ping #ltrace接須要檢測的命令語句

 二、ltrace -p 1665 #-p跟蹤指定進程號

 

十3、runlevel:輸出當前運行級別

一、runlevel #查看當前系統的運行級別

 二、系統級別說明

0:停機

1:單用戶模式

2:無網絡的多用戶模式

3:多用戶模式

4:未使用

5:圖形界面多用戶模式

6:重啓

 

十4、init:初始化Liunx進程

init爲liunx下進程初始化工具,是全部Liunx進程的父進程,根據/etc/inittab建立Liunx進程

一、init 0 #關機

 二、init 6 #重啓

 

十5、service:管理系統服務

service用於對系統服務進行管理:好比start、stop、restart、reload、status等,CentOs7裏被systemctl取代

一、service --status-all #顯示全部服務狀態

 二、service crond stop #中止服務

 三、service crond start #啓動服務

 四、 service crond restart #重啓服務

 五、service crond status #查看服務狀態

相關文章
相關標籤/搜索