如果我从 ps 得到如下输出,有没有办法确定“blah”在文件系统上的位置?对于我的特殊情况, -p 指定应用程序应该运行的端口。
user 22913 22470 0 09:58 ? 00:00:06 ./blah -p 12345
Run Code Online (Sandbox Code Playgroud)
我的问题基本上是在给定应用程序的 PID 或端口的情况下是否可以找到可执行文件的位置。使用的发行版是 Redhat。
这些是否提供信息?
ps -ef
ps -eLf
ps轴
或者可能
ps -o cmd= -p $PID
这可能更有用:
readlink -f /proc/$PID/exe
?
要建立在 readlink 的东西上,另一种方法可能是readlink -f /proc/$PID/cwd. 这将显示进程的当前工作目录,如果您执行了 bash 脚本,这会很方便,因为 exe 链接是 /bin/bash,参数为 ./blah。
作为更多随机信息,您可以直接 cd 到 /proc/$PID。如前所述,将有 cwd 和 exe 的符号链接,以及该进程根目录的位置(如果 chroot 很有用) ls -l将显示它们指向的位置,这本质上是 readlink 所做的。
| 归档时间: |
|
| 查看次数: |
5439 次 |
| 最近记录: |