可能最后PIDvariables$! 是错的?

如果一个脚本启动一个进程,并立即收集与$! PID $! ,如果在脚本启​​动过程之间和脚本收集PID为$!的时刻系统的某个其他位置启动了一个进程,它是否可能得到错误的PID $!

$! 特殊变量保存当前shell启动的最后一个子进程的PID。 系统中其他任何进程中的行为都不会被修改。

$! 如果您在收集价值之前自己启动新的子流程,那么只能是错误的,因为每次都会被覆盖。 例如,这里“processX”的PID丢失,“processY”的PID被打印:

 processX & processY & echo Child process PID: $!