shell之 ps、kill、killall命令詳解


查看進程

1、ps命令

ps命令查看系統中運行的進程信息,其格式為:

ps [選項]                                   

常用選項:

-a           顯示終端上的所有進程,包括其他用戶的進程。

-u           顯示面向用戶的格式信息。

-x           顯示沒有控制終端的進程。

示例:

ps -aux|grep java                      

顯示java 進程的所有狀態。 

ps命令格式順序輸出的字段名說明

用戶(USER)、進程號(PID)、CPU使用率(%CPU)、內存使用率(%MEM)、虛擬內存占用情況(VSZ)、物理內存占用情況(RSS)、登錄的終端控制台(TTY,其中“?”表示未知)、

當前進程狀態(STSAT)、進程開始時間(START)、進程運行時間(TIMS)、進程名稱(COMMAND)

 

當前進程狀態(STSAT)的幾種形態

R       (TASK_RUNNING):可執行狀態。

S       (TASK_INTERRUPTIBLE):可中斷睡眠狀態。

D       (TASK_UNINTERRUPTIBLE):不可中斷睡眠狀態。

T       (TASK_STOPPED or TASK_TRACED):暫停或者跟蹤狀態

Z       (TASK_DEAD-EXIT_ZOMBIE):退出狀態,進程成為僵屍進程。

X       (TASK_DEAD-EXIT_DEAD):退出狀態,進程即將被銷毀。

 

結束進程

1、kill命令

kill命令使用進程號來結束指定進程的運行。其用法為:

kill [-9] 進程號                          

選項“-9”用於強行結束指定的進程,適用於結束已經“死掉”而沒有能力自動結束的非正常進程。

實例:

為了查看指定進程的進程號,可以使用管道操作和grep命令相結合的方式實現。

比如查看xinetd進程對應的進程號:

ps -e|grep xinted                     

例如,輸出為:

1665 ? 00:00:00 xinted          

從其輸出信息中,可得知該進程的進程號為1665。若要結束改進程,則執行命令:

kill 1665                                 

 

2、killall命令

killall命令使用進程名來結束指定進程的運行。若系統存在同名的多個進程,則這些進程將全部結束運行。

kilall [-9] 進程名                      

選項“-9”用於強行結束指定進程的運行,屬於非正常結束。

實例,若要結束xinetd進程的運行,則實現命令為:

kilall xinetd                            

 

 

linux中的后台進程

用戶輸入shell命令后,空格加上“&”符號再按Enter就會啟動一個后台進程。此時shell可以繼續運行和處理其他程序命令。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM