백그라운드 프로세스가 언제 종료되는지 확인

백그라운드 프로세스가 언제 종료되는지 확인

여러 백그라운드 프로세스를 시작하고 명령줄에서 호출하면 제대로 작동하는 스크립트가 있습니다.

그러나 xsession 시작 및 일부 udev 이벤트에서도 동일한 스크립트가 호출됩니다. 두 경우 모두 백그라운드 프로세스가 사라집니다.

스크립트에 sleep 10을 넣었더니 bg 프로세스가 시작되는 것을 볼 수 있지만 일단 스크립트가 존재하면 bg 프로세스를 차지하게 됩니다. bg 프로세스를 호출하여 해결해 보았 start_stop_deamon --background으나 별 차이가 없었습니다. 그러나 콘솔에서 스크립트를 호출하고 세션을 종료할 수 있으며 bg 프로세스는 계속 실행 중입니다.

당장의 문제를 해결하는 것 외에도(어떤 도움이라도 감사하겠습니다), 그 뒤에 숨어 있는 논리를 이해하고 싶습니다. 나는 그것이 터미널의 부족과 관련이 있다고 생각합니다.

답변1

다음을 사용하여 프로세스를 보호하십시오 nohup.

nohup command-name &

stdout 및 stderr을 무시하고 nohup.out으로 리디렉션하려는 경우에도 이 기술을 사용할 수 있습니다.

command-name & disown

관련 정보