Linux/Linux_technic
nohup - 터미널을 종료해도 꺼지지 않는 프로세스 실행
sosal
2015. 6. 28. 04:05
반응형
Putty 원격접속으로 프로그램을 실행할 때, 푸티를 꺼져도 프로세스가 꺼지지 않았으면 할 때가 있다.
노트북 Putty로 원격환경에서 프로그램을 돌리다가 잠깐 자리를 비워야 할 때, 노트북을 닫아야 하는데
그러면 putty가 꺼지게 되고 결국 쉘이 죽으면서 자동으로 프로세스까지 죽어버린다.
이런 문제를 극복하기 위래 nohup 이라는 명령어가 존재한다.
ex) nohup ./workflow.sh &
nohup 명령어가 끝나면 모든 출력은 nohup.out에 저장된다.
nohup을 이용하여 python이나 R도 실행할 수 있다.
ex) nohup python execute.py &
ex) nohup Rscript statistics.R &
이 역시 nohup.out 파일에 모든 출력이 저장된다.
nohup.out이 아닌 다른 이름으로 저장하고자 한다면 redirection을 사용하면 된다.
ex) nohup ./program.sh > output &
중간에 프로세스가 꺼지거나, 혹은 쉘이 꺼지거나, 원격 ssh가 꺼져도 프로그램은 계속 실행되기 때문에
원격접속으로 시간이 오래걸리는 프로그램을 실행하기에 적합한 명령어이다.