在bash/shell脚本中是否存在$!,如果存在,请告知它的用途。为什么在命令行上运行echo $!
时会显示空白?
除了其他答案外,此回声
echo $!
如果您当前的shell中还没有运行任何后台进程,则会打印空白。如果您现在运行:
date &
echo $!
那么它将打印类似以下内容(即最后执行的后台进程的进程ID):
47833
$!
是您的shell在后台运行的最后一个程序的PID
/proc
、kill -s 0
等检查进程是否仍存在也很慢。而且我不确定通过作业控制进行进程管理是否总是可行或高效,以至于它不会漏掉任何东西。 - konsolebox$! - 显示最近在后台启动的进程 ID。