天天一個linux命令(47):ps命令

Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,若是想要動態的顯示進程信息,就可使用top命令。java

要對進程進行監測和控制,首先必需要了解當前進程的狀況,也就是須要查看當前進程,而 ps 命令就是最基本同時也是很是強大的進程查看命令。使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。總之大部分信息都是能夠經過執行該命令獲得的。linux

ps 爲咱們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的;若是想對進程時間監控,應該用 top 工具。ssh

kill 命令用於殺死進程。工具

linux上進程有5種狀態: spa

1. 運行(正在運行或在運行隊列中等待) 命令行

2. 中斷(休眠中, 受阻, 在等待某個條件的造成或接受到信號) code

3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生) orm

4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放) 隊列

5. 中止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後中止運行運行) 進程

ps工具標識進程的5種狀態碼: 

D 不可中斷 uninterruptible sleep (usually IO) 

R 運行 runnable (on run queue) 

S 中斷 sleeping 

T 中止 traced or stopped 

Z 僵死 a defunct (」zombie」) process 

實例1:顯示全部進程信息

ps -A

實例2:顯示指定用戶信息

ps -u root

實例3:顯示全部進程信息,連同命令行

ps -ef

實例4: ps 與grep 經常使用組合用法,查找特定進程

ps -ef|grep ssh

實例5:將目前屬於您本身此次登入的 PID 與相關信息列示出來

ps -l

實例6:列出目前全部的正在內存當中的程序

ps aux

實例7:列出相似程序樹的程序顯示

ps -axjf

實例8:找出與 cron 與 syslog 這兩個服務有關的 PID 號碼

ps aux | egrep '(cron|syslog)'
相關文章
相關標籤/搜索