如果我看到一个使用 ps 运行的进程,我如何找到可执行文件?

如果我看到一个使用 ps 运行的进程,我如何找到可执行文件?

如果我可以看到正在使用的进程ps -e,我如何找到启动它的文件?

答案1

在 Linux 上:如果您知道 PID,则可以找到该文件的 cmdline 文件。例如:

cat /proc/PID/cmdline

如果在程序启动后移动二进制文件,这可能会失败。

而且当然:

lsof -n | grep PID | grep ' txt '

和:

ls -la /proc/PID/exe

这是可执行文件的符号链接。

答案2

从命令复制进程 ID ps -e,然后运行以下命令:

ps x | grep <process-id>

答案3

其他答案中的方法(lslsofcat)都不适合我。如果我做:

$ nano test.txt

这是我的赢家:

$ pgrep -f -l test
3074 nano test.txt

或者,为了仅获取 PID 以在编程中使用它:

$ pgrep -f test
3074

在 Kali Linux v1.0.6(基于 Debian)上测试。
与简单的相比ls,我必须承认它不是一个那么便携的解决方案,但至少它有效。

相关内容