Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果脚本启动一个进程并在收集 PID 后立即使用$!,如果系统上的其他地方在脚本启动进程和脚本收集 PID 之间的那一刻启动进程,它会得到错误的 PID$!吗?
$!
$!特殊变量保存当前 shell 启动的最后一个子进程的 PID 。它永远不会被系统上其他一些进程中发生的操作修改。
$!如果您自己在收集值之前启动一个新的子进程,那只会是错误的,因为它每次都会被覆盖。例如,这里“processX”的PID丢失,“processY”的PID被打印:
processX & processY & echo Child process PID: $!