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