& 실행과 nohup 실행

by 조쉬 posted Apr 18, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

일단 난 관리자가 아니라 확실히는 모르겠으나 경험상이다.

 

명령이나 프로세스를 데몬으로 띄울때 사용하는 앰퍼센드(&).

 

보통 백그라운드에 데몬으로 실행 시키면서 표준 입출력( standard In/Out )을 화면에 안보여 주기 위해

(ex - "/usr/bin/ABC" 라는 프로그램을 백그라운드로 실행 시킨다고 하였을 때.)

 

/usr/bin/ABC 1> /dev/null 2>&1 &

 

이런 방법을 주로 사용한다(숫자 3은 에러라고 들었는데.. 쓸일은 없는듯 하다.). 뭐 약간의 차이는 있겠으나... 여기 저기 검색해본 결과가 그렇다.. 나역시 그렇게 사용중이고.. 표준 입출력을 안보여주며 백그라운드로 실행.. 게다가 putty 등의 텔넷 프로그램을 사용하고 접속중인 세션이 끊겨도 살아서 데몬의 역할을 충실히 실행 해준다..

 

하지만.. 예외도 있다. 뭐 다 그런건 아니겠지만, Solaris의 경우 입출력 제어 백그라운드 데몬 실행이 세션이 종료가 되면, Parent - child - child 의 두번째 차일드가 되어야 백으로 뜨고 세션과 함께 죽는 일이 없었다.

다시말해 ABC 를 실행 시키면 ABC가 DEF를 실행, DEF가 GHI를 실행해야 GHI 부터 살아 있었다는 것이다.

 

뭐.. 난 초보니까~ 이정도만 이해중이다.;

 

그래서 찾아 보니...

 

nohup

 

nohup /usr/bin/ABC 1> /dev/null 2>&1 &

 

이렇게 실행 시키면~? 만사 오케이다. "nohup.out" 파일이 생기기도 한다. 표준 입출력을 /dev/null 이라는 블랙홀로 보내지 않으면 생긴다..