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)'