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

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

/proc/<pid>/有各种文件可以帮助你find罪魁祸首。

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

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