【发布时间】:2021-06-29 16:11:18
【问题描述】:
我希望能够找到给定进程的进程 ID,知道启动它的可执行路径(也恰好是当前目录)。
问题是可执行文件的唯一名称是不够的,因为我有多个进程以相同的名称运行。
我能想到的唯一办法就是查询每个进程的工作目录,但不知道有没有更直接的解决方案。
for pid in $(pgrep my-program)
do
if [[ $(pwdx $pid) == $PATH_OF_EXECUTABLE ]]
then
echo $pid
break
fi
done
我还要注意我没有root权限,我只启动了我感兴趣的进程。
【问题讨论】: