2016-06-07 100 views
8

ps -eaf | grep java命令在這裏不是一個解決方案,以確定一個進程是否是一個java進程,因爲我的許多java進程在執行這個命令後沒有在輸出中列出。如何確定一個進程是在java或c或c + +進程在Linux?

+2

'jps'通常工作 – Samuel

+3

那麼它們是如何在'ps'輸出上市?當然,你可能會遇到一個進程是* C++ *和* Java的問題。 – Andreas

+0

會'pstree'幫忙嗎? – zack

回答

3

簡答題(希望有人寫了一個更全面的一個):

  1. 獲取進程PID

  2. 轉到/proc/<pid>

  3. 看看從那裏

  4. 過程中的二進制文件
  5. 運行命令fileldd就可以看到你可以從他們的輸出中找出(當然,檢查命令的手冊頁)。

  6. 使用lsof命令查看哪些文件進程已打開,並查看它們是否包含telltale庫或類似文件。

0

Jab進程必須由Java可執行文件執行。因此,要查看該過程,您必須看到正在運行的命令行。 詩-ef 或者 JPS 或者 HTOP

是共同的解決辦法