“nohup ./my_script &”=>“작업을 실행 중입니다.”를 실행하는 터미널 종료 종료 하시겠습니까?


12

터미널을 분리 할 때 작업 종료를 방지하기 위해 원격 상자에서 다음을 실행한다고 가정 해보십시오.

nohup ./my_script.sh &

터미널을 종료하려고하면 다음과 같은 경고가 나타납니다.

zsh: you have running jobs

괜찮습니다. 백그라운드에서 작업 / 프로세스가 실행 중임을 알려줍니다. 터미널 연결을 끊어도 작업 / 프로세스가 계속 실행됩니까?


zsh의 nohup이 손상되어 원하는 것을 수행하지 않는다는 것을 알았습니다. Disown은 대부분 작동합니다. 일단 zsh에서 ffmpeg와 함께 disown을 사용하는 데 문제가 있었지만 bash 쉘을 시작하고 그 안에 nohup을 실행했습니다.
Sridhar Sarnobat

답변:


19

그래, 괜찮아 하위 프로세스는 HUP 신호를 수신하지만 귀하의 프로세스 덕분에 프로세스가 종료되지 않습니다 nohup.

해당 메시지를 보지 않으려면 disown다음과 같이 작업 ID를에 전달하십시오 .

disown %1

또는 &!(zsh 특정 트릭)으로 작업을 시작하십시오 .

nohup ./my_script.sh &!
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.