이유는 모르겠지만 screen
서버에서 실행 중이던 명령이 자체적으로 중지되었습니다. 그래서 예를 들어 다음과 같이 사용해 보았습니다 nohup
.
nohup bzcat a.bz
하지만 달리면 nohup
나에게
nohup: ignoring input and appending output to `nohup.out'
또한 재개하려면 fg
다음을 실행합니다.
-bash: fg: current: no such job
답변1
메시지는 nohup
완전히 괜찮습니다. 단지 그것이 무엇을 하는지 설명할 뿐입니다. nohup을 사용하여 프로그램을 실행하면 더 이상 터미널에 입력한 내용을 사용하지 않으며 터미널에 아무 것도 인쇄하지 않습니다. nohup
프로그램의 출력을 nohup.out
.
nohup
이는 백그라운드에서 실행되는 프로그램(백그라운드에서 실행 중인 경우 bzcat a.bz &
)과 매우 다릅니다. 프로그램이 백그라운드에서 실행 중일 때 터미널의 입력은 무시됩니다. (포그라운드에서 실행 중인 프로그램만이 터미널에 입력한 내용을 사용할 수 있습니다. 이것이 바로 사용자가 실제로 상호 작용하는 프로세스이기 때문에 "포그라운드" 프로세스라고 부르는 이유입니다. with process) with) 하지만 터미널로 출력됩니다. nohup 모드와 백그라운드에서 프로그램을 실행할 수 있습니다. 실제로는 일반적으로 이렇게 nohup
사용됩니다. 프로그램이 있지만 nohup
백그라운드에서 시작하지 않으면 fg
실제로 백그라운드가 아니기 때문에 호출할 수 없습니다. 터미널로 출력되지 않습니다.
nohup
신호를 무시하는 모드에서 프로그램을 실행할 수 있습니다 HUP
. HUP
터미널은 일반적으로 터미널을 닫을 때 신호를 보냅니다. 따라서 nohup 모드로 백그라운드에서 실행 중인 프로그램은 해당 프로그램을 시작한 터미널을 닫아도 중지되지 않습니다.