![여러 응용프로그램을 실행하고 활성 상태로 유지하며 종료 시 모두 종료하는 스크립트](https://linux55.com/image/189753/%EC%97%AC%EB%9F%AC%20%EC%9D%91%EC%9A%A9%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EA%B3%A0%20%ED%99%9C%EC%84%B1%20%EC%83%81%ED%83%9C%EB%A1%9C%20%EC%9C%A0%EC%A7%80%ED%95%98%EB%A9%B0%20%EC%A2%85%EB%A3%8C%20%EC%8B%9C%20%EB%AA%A8%EB%91%90%20%EC%A2%85%EB%A3%8C%ED%95%98%EB%8A%94%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.png)
백그라운드에서 일부 명령줄 응용 프로그램을 실행하지만 나중에 활성 상태로 유지되는 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