我如何编写 bash 脚本,该脚本将在后台运行一些命令行应用程序,但之后仍保持活动状态(终端/控制台阻塞)。当被杀死时,它将杀死所有已启动的应用程序。
那可能吗?如果不是,我应该考虑什么替代解决方案?如果是,如何实施?
目前我有这个:
#!/bin/bash
command_1 &>/dev/null &
command_2 &>/dev/null &
command_3 &>/dev/null &
fg
编辑:现在可以使用,谢谢!
#!/usr/local/bin/bash
set -eu
trap "kill -9 -- 0" EXIT ERR SIGINT SIGQUIT SIGTERM SIGKILL SIGHUP SIGABRT
sleep 60 &>/dev/null &
sleep 60 &>/dev/null &
sleep 60 &>/dev/null &
sleep 60 &>/dev/null &
while :; do
:
done
答案1
像这样的东西吗? (根据 FelixNj 的评论进行更新)。
#!/bin/bash
set -eu
trap "kill -9 -- 0" EXIT ERR
sleep 600 &
sleep 600 &
# loop
while :; do
# do something clever here
:
done