运行几个应用程序的脚本,保持活动状态并在退出时杀死所有应用程序

运行几个应用程序的脚本,保持活动状态并在退出时杀死所有应用程序

我如何编写 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

相关内容