백그라운드 프로세스가 종료 될 때를 감지해야합니다. 그래서 함정을 설치했습니다. run_gui
및 run_ai1
은 단순한 exec
기능입니다.프로세스 종료시 SIGCHLD가 전달되지 않음
run_gui & gui_pid=$!
run_ai1 & ai1_pid=$!
trap 'echo foo' SIGCHLD
while true; do
echo "Started the loop"
while true; do
read -u $ai1_outfd line || echo "Nothing read"
if [[ $line ]]; then
: # Handle this
fi
done
while true; do
read -u $gui_outfd line || echo "nothing read"
if [[ $line ]]; then
: # Handle this
fi
done
done
GUI를 닫으면 아무 일도 발생하지 않습니다. echo foo
명령은 Ctrl + C를 누른 경우에만 실행됩니다.
왜 SIGCHLD
이 누락 되었습니까?
이 아무것도 변경되지 않습니다. 'read'가 입력을 기다리는 것이 중요합니까 ...? – marmistrz