Linux

為“ps”命令可見性提供命令說明

  • January 22, 2010

所以我想找到一個整潔的解決方案的問題是,當我登錄到伺服器時(我有一些 Solaris 和 RHEL 實例),我試圖找出正在執行的應用程序:

$ ps -auxww | grep <thing I look for, usually Java>

我得到了一個很好的程序列表、PID、額外的細節,以及整個程序名稱和使用它執行的參數。雖然這通常為我提供了足夠的資訊來了解正在執行的內容,但某些伺服器的執行方式有所不同。我可能有一個伺服器,它具有用於不同目的的應用伺服器的多個實例。其他程序是我與非凍結程序混合的掛起程序的殘餘。我不想關閉所有 java 實例,因為我找不到需要殺死的程序。

我想提供的解決方案是在我的啟動腳本期間,我想在程序前添加或附加一些文本,讓我在其中添加簡短描述。有什麼可以讓我這樣做嗎?


如果我要問的問題聽起來不可能/愚蠢/完全不合時宜,我願意接受其他解決方案,讓我有能力完成同樣的事情。我對想法持開放態度,但這一個突然出現是可行的。

這是重力建議的一個例子:

$ MARKER=snooze sleep 120&
$ ps ew | grep -o ".*[M]ARKER=snooze"
11741 pts/2    S      0:00 sleep 120 MARKER=snooze

e選項使ps列印過程的環境。該-o選項和正則表達式會grep在我們搜尋的部分之後切斷任何環境,但我不會打賭它總是會產生如此乾淨的結果(可能會列印更多的環境)。將模式的一部分放在方括號中執行人們經常使用的功能grep -vfor - 從結果中消除grep自身。

引用自:https://serverfault.com/questions/104877