標籤:
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 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
請注意"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
linux 進程命令