對進程進行監測和控制,首先必需要了解當前進程的狀況,也就是須要查看當前進程, 而ps命令(Process Status)就是最基本同時也是很是強大的進程查看命令.php
使用該命令 能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有殭屍、哪些進程佔用了過多的資源等等.總之大部分信息都是能夠經過執行該命令獲得的.html
ps 爲咱們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的;若是想對進程時間監控,應該用 top 工具。node
若是直接用ps命令,會顯示全部進程的狀態,一般結合grep命令查看某進程的狀態。linux
grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。正則表達式
使用示例:express
[root@node20 updateDB]# ps aux|grep ./update_stock root 14232 0.0 0.0 5928 724 pts/1 S+ 18:16 0:00 grep ./update_stock root 25021 0.0 0.0 3056 816 ? S Apr12 0:03 ./update_stock
ps aux輸出格式:app
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
格式說明:工具
USER: 行程擁有者ui
PID: pidurl
%CPU: 佔用的 CPU 使用率
%MEM: 佔用的記憶體使用率
VSZ: 佔用的虛擬記憶體大小
RSS: 佔用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態,linux的進程有5種狀態:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 中止 traced or stopped
Z 僵死 a defunct (」zombie」) process
注: 其它狀態還包括W(無駐留頁), <(高優先級進程), N(低優先級進程), L(內存鎖頁).
START: 行程開始時間
TIME: 執行的時間
COMMAND:所執行的指令