获取最后一个进程的 pid 的最简单方法是什么?

获取最后一个进程的 pid 的最简单方法是什么?

例如,如何做到这一点:

$ job1 &
$ p1=$LASTPID
$ job2 &
$ p2=$LASTPID
$ wait $p1 $p2

答案1

job1 &
p1=$!
job2 &
p2=$!
wait

答案2

如果bash是您的 shell,并且您尝试将所有语句放在一行中,您可能会遇到以下错误:

$ job1 & p1=$!; job2 & p2=$!; wait
-bash: !: event not found

!角色调用bash 的历史替换。为了解决这个问题,您需要在$!和之间添加一个空格;,如下所示:

$ job1 & p1=$! ; job2 & p2=$! ; wait
[1] 20198
[2] 20199
...

相关内容