Linux
為“ps”命令可見性提供命令說明
所以我想找到一個整潔的解決方案的問題是,當我登錄到伺服器時(我有一些 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 -v
for - 從結果中消除grep
自身。