0
我需要在bash上找到某個java進程的pid。高級pgrep-like進程在bash中搜索
如果只有一個java進程,
PID=$(pgrep java)
作品。
對於多個java進程,它變得更加複雜。手動運行,我運行pstree,找到我需要的java進程的祖先,然後找到有問題的java進程。是否有可能在bash中做到這一點?基本上,我需要的是僞代碼如下功能:
Having `processname1` and `processname2`
and knowing that `processname2` is in the subtree of 'processname1',
find the pid of `processname2`.
在這個例子中的java程序將是processname2
。
我在手冊頁中對-P的描述感到困惑。如果'processname2'不是'processname1'的直接子對象,而是孫子等等(所以它們之間的鏈中還有其他中間進程),這會起作用嗎?控制檯中的一個快速實驗顯示,只有當'processname2'是一個直接的孩子時,你的配方纔有效。 – 2010-08-06 00:31:18
不,這隻適用於直接的子/父進程。爲此添加了一條評論。 – earl 2010-08-06 01:00:13