从一个 shell 脚本执行多个 shell 脚本时如何保存 PID?

how to save PID when executing multiple shell script from one shell script?

假设我有 3 个 shell 脚本 First.shSecond.shThird.sh。然后我创建了

Forth.sh 内容

nohup sh First.sh &
nohup sh Second.sh &
nohup sh Third.sh &

当我 运行 nohup sh Forth.sh 时,如何保存由每个 nohup 命令创建的 PID?

谢谢你的时间

发出 nohup 后立即尝试 $!。它应该 return child-pid。每次你 fork 子进程时它都会被覆盖。

或者,您可以从子进程中保存 $$(例如 First.sh、Second.sh ...)

nohup sh First.sh &
FIRST_PID=$!
nohup sh Second.sh &
SECOND_PID=$!
nohup sh Third.sh &
THIRD_PID=$!