내가 작업해온 Bash 스크립트는 백그라운드에서 일부 프로세스를 호출합니다. 부모 Bash 스크립트에서 "대기"를 사용하여 모든 백그라운드 프로세스가 완료 될 때까지 기다렸습니다. 정상적으로 실행됩니다.실패한 백그라운드 프로세스를 다시 시작해야합니다. 쉘 스크립트
그러나 문제는 다시 시작하는 것입니다. 나는 자식 프로세스가 끝나면 다시 시작해야한다. while을 사용하고 pgrep을 사용하여 프로세스 상태를 확인하고 문제를 다시 시작하여 영원히 루프를 시도했습니다. 그러나 그것은 자원을 소비 할 것입니다.
자식 백그라운드 프로세스가 중지/종료/종료되는 즉시 다시 시작할 수 있습니까?
'대기'를 사용하는 것이 잘못된 이유는 무엇입니까? –
아마도 : [SIGCHLD로'trap'을 사용하는 프로세스 재시작] (http://stackoverflow.com/questions/6769414/bash-restart-sub-process-using-trap-sigchld) – C2H5OH