Linux下ps -ef和ps aux的区别
他們都是用來顯示當前運行的進程,但是:
ps aux 是用BSD的格式來顯示 java這個進程
顯示的項目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
ps -ef 是用標準的格式顯示java這個進程
顯示的項目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD
==================================================================
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?
?
原文鏈接:http://zoroeye.iteye.com/blog/2165233
總結
以上是生活随笔為你收集整理的Linux下ps -ef和ps aux的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: find -exec 与xargs 区别
- 下一篇: Linux下ps -ef和ps aux的