ps aux與ps -ef的區別

優先使用 ps -efhtml

Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,若是想要動態的顯示進程信息,就可使用top命令。 
要對進程進行監測和控制,首先必需要了解當前進程的狀況,也就是須要查看當前進程,而 ps 命令就是最基本同時也是很是強大的進程查看命令。使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。總之大部分信息都是能夠經過執行該命令獲得的。 
ps 爲咱們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的;若是想對進程時間監控,應該用 top 工具。 
kill 命令用於殺死進程。 

linux上進程有5種狀態: 
1. 運行(正在運行或在運行隊列中等待) 
2. 中斷(休眠中, 受阻, 在等待某個條件的造成或接受到信號) 
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生) 
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 

具體參數能夠參考man ps或 
http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html 

這裏重點討論的是ps aux和ps –aux的區別,及ps aux和ps –ef的區別。 

1. ps aux和ps –aux 
man ps 以後獲得的結果: 
ps displays information about a selection of the active processes. If you want a repetitive update of the selection and the displayed information, use top(1) instead. 

Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX standards require that "ps -aux" print all processes owned by a user named "x", as well as printing all processes that would be selected by the -a option. If the user named "x" does not exist, this ps may interpret the command as "ps aux" instead and print a warning. 
This behavior is intended to aid in transitioning old scripts and habits. It is fragile, subject to change, and thus should not be relied upon. 
意思是: 
請注意"ps -aux"不一樣於"ps aux"。POSIX和UNIX的標準要求"ps -aux"打印用戶名爲"x"的用戶的全部進程,以及打印全部將由-a選項選擇的過程。若是用戶名爲"x"不存在,ps的將會解釋爲"ps aux",並且會打印一個警告。這種行爲是爲了幫助轉換舊腳本和習慣。它是脆弱的,即將更改,所以不該依賴。 
若是你運行ps -aux >/dev/null,那麼你就會獲得下面這行警告信息 
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 

綜上: 使用時二者之間直接選擇ps aux 
參考: 
http://walkerxk.blog.sohu.com/150633165.html 
http://blog.chinaunix.net/uid-24701781-id-3343264.html 

2. ps aux 和ps -ef 
二者的輸出結果差異不大,但展現風格不一樣。aux是BSD風格,-ef是System V風格。這是次要的區別,一個影響使用的區別是aux會截斷command列,而-ef不會。當結合grep時這種區別會影響到結果。 
舉例請參考:http://www.2cto.com/os/201303/197697.html 

綜上:以上三個命令推薦使用:ps –ef linux

相關文章
相關標籤/搜索