如何获取Linux中正在运行的进程的完整可执行文件名

renyuneyun

我正在编写一个脚本,它将使用正在运行的进程的文件名。但是,我无法确定某些进程完整可执行文件名称。

最初,我决定查询中的Name条目/proc/PID/status(或中的第二个字段/proc/PID/stat)。但是,根据联机帮助页,该字段始终被截断为15个字符,但是我需要全名以避免冲突/混乱。

建议使用此问题的答案/proc/PID/cmdline,但也存在问题。有些程序(例如铬,电子)会将值愚蠢/智能化,/proc/PID/cmdline因此我不能NULL像手册中所建议的那样直接拆分数据并直接获得程序名-它们将很多内容填充到原始内容中argv [0]字段,并用空格分隔它们,我不认为仅按空格分割是一个不错的选择,因为路径/文件名可能包含空格。

当我发现某些脚本(例如python脚本)处于表单中/usr/bin/python /path/to/script而某些脚本处于表单中时,这甚至变得更加复杂/path/to/script尽管只要我有该字段(上面没有卡纸)并手动检查和拆分,这将更容易处理。

任何想法如何获取完整的程序名称/文件名?名称是否包含完整路径并不重要,因为可以轻松处理(据我现在所知)。

伊尔卡楚

/proc/$PID/exe 似乎是您要寻找的东西:(proc(5)

/ proc / [pid] / exe
在Linux 2.2及更高版本中,此文件是一个符号链接,其中包含已执行命令的实际路径名。可以正常取消引用此符号链接。尝试将其打开将打开可执行文件。

因此,只需:

$ /bin/cat & readlink /proc/$!/exe
/bin/cat

实际上,它在可执行文件上执行重命名:

/tmp$ cp /bin/cat . ; ./cat & mv cat dog ; readlink /proc/$!/exe
/tmp/dog

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在solaris上如何以编程方式获取正在运行的进程的可执行文件的完整路径?

来自分类Dev

在HPUX上,如何列出所有正在运行的进程的可执行文件的完整路径?

来自分类Dev

如何在Linux上列出可执行文件的所有正在运行的实例?

来自分类Dev

如何恢复正在运行的进程被删除的二进制可执行文件

来自分类Dev

查找*可执行文件位于当前正在运行的进程的位置

来自分类Dev

覆盖正在运行的可执行文件或.so

来自分类Dev

删除正在运行的可执行文件

来自分类Dev

如何获取当前正在运行的进程的文件名?

来自分类Dev

正在运行的进程是否会损坏其目录中的可执行文件和文件(当前正在使用)

来自分类Dev

如何确定您正在运行最新的可执行文件?

来自分类Dev

如何知道正在运行的可执行文件的路径?

来自分类Dev

如何确定您正在运行最新的可执行文件?

来自分类Dev

如何诊断没有与之关联的可执行文件名的进程?

来自分类Dev

如何使可执行文件运行不同的进程?

来自分类Dev

正在运行的可执行文件:无此类文件或目录

来自分类Dev

在可执行文件中查找指令,给定其在运行进程中的地址?

来自分类Dev

在可执行文件中查找指令,给定其在运行进程中的地址?

来自分类Dev

PHP检查可执行文件是否正在运行

来自分类Dev

PowerShell查找当前正在运行的主机的路径(PowerShell可执行文件)

来自分类Dev

午夜指挥官:用户正在运行命令或脚本/可执行文件

来自分类Dev

Qt5更改当前正在运行的可执行文件的软链接

来自分类Dev

为什么我们不能删除正在运行的可执行文件

来自分类Dev

AIX:更改正在运行的程序的可执行文件

来自分类Dev

如何在C程序运行时中正确调用可执行文件?

来自分类Dev

从 /proc/ 获取 Linux 中的可执行文件名称并检测它是否被截断

来自分类Dev

如何以可执行文件名称获取调试后缀

来自分类Dev

使用 GetModuleFileNameEx 后如何仅获取可执行文件名称

来自分类Dev

ps如何获取其他用户进程的可执行文件?

来自分类Dev

如何从Linux进程中分离可执行文件以进行实时更新

Related 相关文章

  1. 1

    在solaris上如何以编程方式获取正在运行的进程的可执行文件的完整路径?

  2. 2

    在HPUX上,如何列出所有正在运行的进程的可执行文件的完整路径?

  3. 3

    如何在Linux上列出可执行文件的所有正在运行的实例?

  4. 4

    如何恢复正在运行的进程被删除的二进制可执行文件

  5. 5

    查找*可执行文件位于当前正在运行的进程的位置

  6. 6

    覆盖正在运行的可执行文件或.so

  7. 7

    删除正在运行的可执行文件

  8. 8

    如何获取当前正在运行的进程的文件名?

  9. 9

    正在运行的进程是否会损坏其目录中的可执行文件和文件(当前正在使用)

  10. 10

    如何确定您正在运行最新的可执行文件?

  11. 11

    如何知道正在运行的可执行文件的路径?

  12. 12

    如何确定您正在运行最新的可执行文件?

  13. 13

    如何诊断没有与之关联的可执行文件名的进程?

  14. 14

    如何使可执行文件运行不同的进程?

  15. 15

    正在运行的可执行文件:无此类文件或目录

  16. 16

    在可执行文件中查找指令,给定其在运行进程中的地址?

  17. 17

    在可执行文件中查找指令,给定其在运行进程中的地址?

  18. 18

    PHP检查可执行文件是否正在运行

  19. 19

    PowerShell查找当前正在运行的主机的路径(PowerShell可执行文件)

  20. 20

    午夜指挥官:用户正在运行命令或脚本/可执行文件

  21. 21

    Qt5更改当前正在运行的可执行文件的软链接

  22. 22

    为什么我们不能删除正在运行的可执行文件

  23. 23

    AIX:更改正在运行的程序的可执行文件

  24. 24

    如何在C程序运行时中正确调用可执行文件?

  25. 25

    从 /proc/ 获取 Linux 中的可执行文件名称并检测它是否被截断

  26. 26

    如何以可执行文件名称获取调试后缀

  27. 27

    使用 GetModuleFileNameEx 后如何仅获取可执行文件名称

  28. 28

    ps如何获取其他用户进程的可执行文件?

  29. 29

    如何从Linux进程中分离可执行文件以进行实时更新

热门标签

归档