我有一个 Bash 脚本,可以在后台执行命令,可以在命令执行期间显示进度条,这是代码:
# Background command
dpkg -i $DPKG_COMMAND >/dev/null &
# Progress-Bar
while ps | grep $! &>/dev/null; do
echo -n "."
sleep 0.5
done
EXIT_CODE=???????
...但我需要知道后台进程的退出代码才能确定如何继续执行我的脚本。
答案1
如果您不想等待子进程,因为这样会挂起您的进程,直到子进程完成为止,您可以使用信号 SIGCHLD 的“trap”命令。这样,您的父进程就可以继续执行操作,直到子进程终止,此时将执行“trap”语句。然后,根据结果,您可以采取所需的任何操作。