我的服务器上启动了一个进程,它似乎修改了 ps/top 看到的内容,所以我不知道文件名或路径,因为它隐藏了它(它是一个 perl 脚本)。我如何才能找到文件在磁盘上的位置?
答案1
下面/proc/<pid>/
有各种文件可以帮助您找到罪魁祸首。
cmdline
是用于启动进程的命令行(包括参数)。不幸的是,如果进程修改了自己的命令行,这显然也会改变。cwd
是该过程的工作目录,这也可能有帮助exe
指向正在运行的可执行文件(但是,对于 Perl 脚本来说,这将是 Perl 解释器,因此可能不太有用)status
包含各种信息。特别是,父进程 (Ppid) 可能很有趣;这将是启动脚本的进程 - 可能有助于找出谁启动了它。- 在下
fd
,您将找到该进程当前已打开的文件列表(作为符号链接);这应该有助于弄清楚它在做什么
答案2
在 Linux 上,您可以检查指向可执行文件的 /proc/[PID]/exe 符号链接。