【问题标题】:How can I get pid and its executable path information through the file which is executed by this pid?如何通过这个pid执行的文件获取pid及其可执行路径信息?
【发布时间】:2015-12-31 07:43:34
【问题描述】:

根据给定文件test.txt 的信息,我希望获得一个在该文件上运行的进程的 pid 及其可执行路径。

例如,如果有人从命令行运行了这个:

$ cat test.txt

...那么我想要一些可以提供类似于以下输出的东西:

process 1123 bin/cat is using /home/sam/test.txt

【问题讨论】:

  • 我认为您的问题需要整理一下,但您可能正在寻找答案中涉及“lsof”的内容。我会把它添加为你的标签;)
  • 是的,lsof 有效。我可以在 /proc/ 目录中找到信息吗?信息是哪个pid正在执行文件?

标签: file shell path pid lsof


【解决方案1】:

如果文件仍然打开,你可以使用:

fuser /home/sam/test.txt

【讨论】:

  • 是的,它有效。谢谢!还有其他方法吗?如果我想使用一些基本命令,例如 ls find grep 等来完成这个功能。或者我可以在/proc/目录中获取信息吗?
  • 请看上面@DanSut 写的。 fuser /home/sam/test.txt 会给你一个 PID。 lsof -p PID 会告诉你打开文件的进程。 /proc/PID 会有其他信息,但我认为 /proc 是 Linux 独有的。
  • 如果要求不允许我使用 lsof 和 fuser,我该怎么做。谢谢!!!
  • 是的,它是linux系统。我无法得到方法,这让我很沮丧。
  • file /proc/*/fd/* | grep /home/sam/test.txt 将为您提供 PID。 /proc/PID/cmdline 将包含命令。看到这个:stackoverflow.com/questions/821837/…
猜你喜欢
  • 1970-01-01
  • 2021-01-19
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多