/*

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

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

 

Posted by sosal sosal

댓글을 달아 주세요

  1. 2015.07.20 17:14 신고

    안녕하세요? 글을 우연히 보다가 질문이 생겨 여쭤봅니다. 노헙 사용시 sampe로 sam을 만드는 명령어를 돌리고 컴퓨터를 끄고싶을경우 nohup bwa sampe -r ~~~1234_1.sai 1234_2.sai~~~blah blah~~~~~ > 1234.sam 을 하면 되는건가요?

    • 2015.07.20 18:17 신고

      네 맞습니다. nohup bwa sampe ref.fa sai sequence.... blah > 1234.sam &

      끝에 & 붙여주시면 쉘에서 바로 독립적으로 실행된걸 보실 수 있습니다.