我使用Java API連接我的遠程機器,以便我可以看到正在運行的進程。Linux ps輸出格式規格
其中一個要求是能夠殺死任何進程。
現在我執行命令正在運行的進程
ps aux | grep java
這回列表。
例如。
root 330 0.2 0.0 0 0 pts/0 Z 08:42 0:11 [java]
有沒有人知道規範是用於以上輸出?我需要將上面的行轉換成一個對象,其中330將是進程ID。
我使用Java API連接我的遠程機器,以便我可以看到正在運行的進程。Linux ps輸出格式規格
其中一個要求是能夠殺死任何進程。
現在我執行命令正在運行的進程
ps aux | grep java
這回列表。
例如。
root 330 0.2 0.0 0 0 pts/0 Z 08:42 0:11 [java]
有沒有人知道規範是用於以上輸出?我需要將上面的行轉換成一個對象,其中330將是進程ID。
也許你可以使用這樣的事情:
ps -ef | grep java | awk -F" " '{print $2}'
或指定自己的格式(例如PID和唯一的命令):
ps -eo pid,comm | grep java | awk -F" " '{print $1}'
如果需要的grep帶參數的命令:
ps -eo pid,command | grep java | awk -F" " '{print $1}'
在我的Ubuntu系統,ps
說,這是在符合這些標準:
標準 這PS符合:
1 Version 2 of the Single Unix Specification 2 The Open Group Technical Standard Base Specifications, Issue 6 3 IEEE Std 1003.1, 2004 Edition 4 X/Open System Interfaces Extension [UP XSI] 5 ISO/IEC 9945:2003</blockquote>
但你可以考慮卸載的問題pgrep
,這已經是保持並已經理解有關進程名和這樣。它給你一個非常非常簡單的輸出:默認情況下,只匹配進程ID,每行一個,像這樣:
$ pgrep apache
3990
22244
22388
22391
22476
沒有得到更容易比解析。如果您需要查看更多,你可以考慮-l
標誌:
$ pgrep -l apache
3990 apache2
22244 apache2
22388 apache2
22391 apache2
22476 apache2
還要考慮看/proc
filesystem,這就是ps
查找其數據。
謝謝!工作一個治療:) – Makky