如果我可以看到正在使用的进程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
其他答案中的方法(ls
、lsof
或cat
)都不适合我。如果我做:
$ nano test.txt
这是我的赢家:
$ pgrep -f -l test
3074 nano test.txt
或者,为了仅获取 PID 以在编程中使用它:
$ pgrep -f test
3074
在 Kali Linux v1.0.6(基于 Debian)上测试。
与简单的相比ls
,我必须承认它不是一个那么便携的解决方案,但至少它有效。