터미널 연결이 끊어졌을 때 작업이 종료되는 것을 방지하기 위해 원격 시스템에서 다음 명령을 실행한다고 가정합니다.
nohup ./my_script.sh &
터미널을 종료하려고 하면 다음 경고가 표시됩니다.
zsh: you have running jobs
괜찮을 것 같아요. 단지 백그라운드에서 실행 중인 작업/프로세스가 있다는 것을 알려줄 뿐입니다. 터미널 연결을 끊으면 작업/프로세스가 계속 실행됩니다. 그렇죠?
답변1
네, 괜찮아요. 하위 프로세스는 HUP 신호를 수신하지만 nohup
.
메시지를 보고 싶지 않으면 disown
다음과 같이 작업 ID를 에 전달하면 됩니다.
disown %1
&!
또는 (zsh 특정 트릭)을 사용하여 작업을 시작합니다.
nohup ./my_script.sh &!