繁体   English   中英

如何识别Linux中的进程是Java还是C或C ++进程?

[英]How to identify if a process is java or c or c++ process in linux?

ps -eaf | grep java ps -eaf | grep java命令不是解决此处是否为Java进程的解决方案,因为执行此命令后,我的许多Java进程未在输出中列出。

简短答案(希望有人写一个更全面的答案):

  1. 获取过程PID

  2. 转到/proc/<pid>

  3. 从那里查找进程二进制文件

  4. 运行命令file并在其上显示ldd ,看看您可以从它们的输出中找出什么(当然,请查看命令的手册页)。

  5. 使用lsof命令查看该进程打开了哪些文件,并查看这些文件是否包含Telltale库或类似文件。

该线程说明如何查找jvm正在运行哪个进程

https://superuser.com/questions/441792/how-do-i-determine-what-running-process-is-using-java

因此,您可能只检查所有虚拟机,然后检查它们是否正在运行您要查找的进程ID。 如果不是,则必须使用其他语言。

Jab进程必须由Java可执行文件执行。 因此,要查看该进程,您必须查看正在运行的命令行。 Ps -ef或Jps或Htop

是常见的解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM