![我如何知道父进程的进程ID?](https://linux22.com/image/31113/%E6%88%91%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E7%88%B6%E8%BF%9B%E7%A8%8B%E7%9A%84%E8%BF%9B%E7%A8%8BID%EF%BC%9F.png)
我有一个带有循环的脚本
while read host
do
./script &
done
我想知道当前进程的进程 ID,该进程在后台启动 ./script 并在脚本中使用它。
答案1
假设 POSIX shell(如bash
),$$
是当前 shell 的 PID,也是$PPID
父 shell 的 PID。您可以传递$$
给脚本或检查$PPID
脚本中的值。
答案2
当前 shell 的进程 ID 位于特殊变量中$$
。
您可以将其传递给分叉(后台)进程:
./script $$ &
在“脚本”中,这将是第一个参数,因此:
parent_pid=$1
有一个总结bash 特殊变量在这里。