Linux Bash:从pid获取规范路径和参数

Linux Bash:从pid获取规范路径和参数,linux,bash,process,pid,Linux,Bash,Process,Pid,是否有一种简单的方法可以获取特定进程(pid)运行时使用的规范路径和参数 例如,对于过程1445,我希望得到: /usr/bin/xclock-digital 我想做的是: $ ls -l /proc/1445 | grep exe 得到 …->/usr/bin/xclock 然后 $ ps 1445 | cut -b 28- | tail -n 1 要获取xclock-数字 最后将这两个输出放在一起。我认为这可能奏效,但我认为应该有更好的方法来做到这一点 非常感谢您的帮助。您可以解析/pr

是否有一种简单的方法可以获取特定进程(pid)运行时使用的规范路径和参数

例如,对于过程1445,我希望得到:
/usr/bin/xclock-digital

我想做的是:

$ ls -l /proc/1445 | grep exe
得到
…->/usr/bin/xclock

然后

$ ps 1445 | cut -b 28- | tail -n 1
要获取
xclock-数字

最后将这两个输出放在一起。我认为这可能奏效,但我认为应该有更好的方法来做到这一点


非常感谢您的帮助。

您可以解析
/proc/$PID/cmdline
的内容以获取路径和参数(有关更多详细信息,请参阅)


通过
realpath(1)

可以获得规范路径。如果执行时的路径(例如xclock)设置为使用不同于/home/user/bin/xclock的xclock,它会工作吗?(另一个xclock位于/usr/bin的“正常”路径中)。或者需要从ps输出中对环境进行进一步分析吗?是的,它应该可以工作,但是如果只调用
xclock
,您将不知道哪个xclock正在运行。要知道哪个程序正在运行,可以查看
/proc/$PID/exe