Process

如何查看正在執行的程序?

  • August 30, 2020

我使用的是 Ubuntu Server 10.10,我想看看正在執行哪些程序。我知道 PostgreSQL 正在我的機器上執行,但我無法使用toporps命令看到它,所以我假設它們沒有顯示所有正在執行的程序。是否有另一個命令將顯示所有正在執行的程序,或者是否有任何其他參數我可以使用topps用於此?

ps手冊頁:

-e 選擇所有程序。與 -A 相同。

因此,ps -e將顯示所有程序。“給我一切”的常用選項是ps -elyor ps aux,後者是 BSD 風格。通常,人們然後將這個輸出通過管道傳輸grep到搜尋過程,就像在 xenoterracide 的答案中一樣。為了避免grep在輸出中也看到它自己,您經常會看到如下內容:

ps -ef | grep [f]oo

其中 foo 是您要查找的程序名稱。

但是,如果您正在尋找一個特定的程序,我建議使用該pgrep命令(如果它可用)。我相信它在 Ubuntu Server 上可用。使用pgrep意味著你避免了上面提到的競爭條件。它還提供了一些其他功能,這些功能需要越來越複雜grep的技巧來複製。語法很簡單:

pgrep foo

其中 foo 是您正在尋找的程序。預設情況下,如果找到一個,它將簡單地輸出程序的程序 ID (PID)。參見man pgrep其他輸出選項。我發現以下頁面非常有幫助:

http://mywiki.wooledge.org/ProcessManagement

引用自:https://unix.stackexchange.com/questions/3340