Linux/Linux_technic

nohup - 터미널을 종료해도 꺼지지 않는 프로세스 실행

sosal 2015. 6. 28. 04:05
반응형

 

/*

 http://sosal.kr/
 * made by so_Sal
 */

 


 

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가 꺼져도 프로그램은 계속 실행되기 때문에

원격접속으로 시간이 오래걸리는 프로그램을 실행하기에 적합한 명령어이다.