首页 > 解决方案 > 如何在脚本中捕获正在运行的进程的 pid

问题描述

我使用 Linux shell 脚本已经有一段时间了。我遇到了无法捕获前台进程的pid的情况。在我的 shell 脚本中,

cfile="path/to/executable/C++/program"
$cfile
pid=$pidof c++ file
echo $pid > text file

但是我的 c++ 文件包含一个不会停止的 while 循环。因此,在读取 echo $$ 行之前,我的 cpp 文件一直在运行,因此我无法将该 c++ 文件的 pid 捕获到另一个文件中。如果我使用 $! 作为后台文件运行它,我可以捕获并存储它,但为什么它不适用于前台进程?我知道我们可以使用ps, pidof命令来了解 pid,但我想将该 pid 存储到 shell 脚本中的另一个文件中。

谢谢

标签: linuxshell

解决方案


推荐阅读