如何追踪磁盘上执行某个进程的文件?

如何追踪磁盘上执行某个进程的文件?

我的服务器上启动了一个进程,它似乎修改了 ps/top 看到的内容,所以我不知道文件名或路径,因为它隐藏了它(它是一个 perl 脚本)。我如何才能找到文件在磁盘上的位置?

答案1

下面/proc/<pid>/有各种文件可以帮助您找到罪魁祸首。

  • cmdline是用于启动进程的命令行(包括参数)。不幸的是,如果进程修改了自己的命令行,这显然也会改变。
  • cwd是该过程的工作目录,这也可能有帮助
  • exe指向正在运行的可执行文件(但是,对于 Perl 脚本来说,这将是 Perl 解释器,因此可能不太有用)
  • status包含各种信息。特别是,父进程 (Ppid) 可能很有趣;这将是启动脚本的进程 - 可能有助于找出谁启动了它。
  • 在下fd,您将找到该进程当前已打开的文件列表(作为符号链接);这应该有助于弄清楚它在做什么

答案2

在 Linux 上,您可以检查指向可执行文件的 /proc/[PID]/exe 符号链接。

相关内容