여러 응용프로그램을 실행하고 활성 상태로 유지하며 종료 시 모두 종료하는 스크립트

여러 응용프로그램을 실행하고 활성 상태로 유지하며 종료 시 모두 종료하는 스크립트

백그라운드에서 일부 명령줄 응용 프로그램을 실행하지만 나중에 활성 상태로 유지되는 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

관련 정보