首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用运行程序的PID来获得实际的程序名?

如何使用运行程序的PID来获得实际的程序名?
EN

Unix & Linux用户
提问于 2017-06-27 13:45:33
回答 1查看 7.2K关注 0票数 1

我正在做linux的工作。

,考虑到正在运行的程序的PID,有什么方法可以获得用户定义的程序名吗?

我想输出的是程序名,而不是进程名.

例如:我有一个java应用程序,名为stackoverflow.java。现在进程名将由不同的系统来决定,但是程序名是stackoverflow.java。因此,输出应该是程序名,只给出运行程序的PID。

有一些命令正在满足部分需求,例如:

cat /proc/"PID"/cmdline -> --这将给出用给定的"PID“创建该进程的命令行参数。但是如果我们用不同的编程语言有不同的程序,那么运行这个程序的命令的格式就会不一样了。那么在这种情况下,如何从这个命令中提取出确切的程序名呢?

readlink -f /proc/"PID"/exe -> --这将给出与进程相关的可执行文件名,并使用给定的"PID“。但是有些进程没有可执行文件。在这种情况下,它不会返回任何东西。

事实上,我的工作规模很大。我希望找到服务器上运行的所有进程的应用程序名称(或源文件名或程序名)。因此,我不想为任何编程语言(如java、cpp、python等)专门编写任何代码。在这方面,请给我一些一般性的建议。

EN

回答 1

Unix & Linux用户

发布于 2017-06-27 14:57:35

用一个有效的<pid>试试这个,

/bin/cat /proc/<pid>/comm

这将给出可执行文件的名称。

/bin/ls -lt /proc/<pid>/exe

以上将给出可执行文件的路径。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/373667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档