2011-09-22 3 views
1

의 nohup 명령을 실행하면 백그라운드에서 실행하는 데 필요합니다. 필요한 유일한 것은 터미널을 폐쇄 할 때 명령이 정지되지 않도록 경우, (nohup 명령 &) 및 (nohup 명령) 의 differnce는 무엇nohup을 사용하여 명령을 실행할 때

입니까?

위의 두 문장 모두이 문제를 해결합니다.

답변

0

끝에있는 &은 명령이 백그라운드에서 실행되어야 함을 나타냅니다. 즉, 쉘에 계속 명령을 입력 할 수 있습니다.

여러분의 특별한 질문에 대해서는, 어쨌든 터미널 창을 닫고 싶으므로 다른 점이 없습니다.

+1

사실이 아닙니다. (nohup 명령), 터미널 창에서 시작한 후 실행이 시작된 후 닫으면 강제 종료됩니다. 창에서 이것을 수행하고 닫습니다. (nohup sh -c "echo before; sleep 10; echo after") 파일에서 "after"출력을 볼 수 없습니다. – e40

+0

사실, nohup.out 파일에서 "after"를 볼 수 있습니다. 정확히 예상 한 것입니다. 당신이 말한대로라면, nohup 명령은 완전히 쓸모가 없을 것입니다. 어쩌면 터미널 에뮬레이터에 결함이있어 다른 신호를 보냅니 까? 네가 말한대로 또 그걸 죽일거야? 만약 당신이 나를 믿지 않는다면 이것을'xterm'으로 테스트하십시오. – raimue

+0

그래, 나는 또한 nohup으로 명령을 실행했기 때문에 Raim이 맞다고 생각하지만 배경은 아닙니다. 나는 예상했던 것을 얻었다. 터미널 창을 닫은 후에도 명령이 실행 중이었습니다. – mandeep

1

예, 쉘을 종료 할 수 있도록하려면 백그라운드에서 실행해야합니다.

+0

X 윈도우 환경에서 터미널 에뮬레이터를 닫을 수 있습니다. 즉, 연결된 모든 프로그램에 HUP 신호를 보내는 터미널 창을 닫습니다. 이 신호를 무시하려면 nohup이 필요합니다. – raimue

관련 문제