nohup 명령

nohup COMMAND [ARG]...

ex) $ nohup ./build_target.sh&

뒤에 꼭 “&”를 붙이셔야 합니다.

 

이리 하면 &명령어에 의해 백그라운드로 돌면서 터미널이 종료되어도 프로세스를 유지하게 됩니다.

그리고 기타 옵션을 주지 않았을 시 명령어를 실행한 폴더에 nohup.out 이라는 파일이 생성될 겁니다.

이 파일에 실행 시 standard out 으로 출력되는 모든 텍스트 로그를 기록하게 되는데요.

다음 명령어로 로그를 확인 할 수 있습니다.

 

$ tail f ./nohup.out

 

tail은 문서의 끝부터 일정 라인을 보여주는 명령어 인데 –f 옵션으로 append 되는 내용을 추가로 보여줍니다.

tail로 로그를 확인 중 나가고 싶으시면 그냥 Ctrl+C 하시면 되겠습니다. 그 외 자세한 옵션은 man page를 확인 해 보세요.

 

요약)

$ cd android

$ nohup ./build_target.sh &

$ tail f ./nohup.out

nohup으로 빌드 시 백그라운드로 돌아가는 프로세스를 죽이기 위해서는 kill ef 등으로 프로세스를 찾아서 죽일 수도 있지만..

다음의 방법을 사용할 수도 있습니다.

 

hong.hyunjun@btb-app-lux-1:~$ jobs

[1]+  Stopped                 vi aa

[2]-  Running                 find / -name abc &

hong.hyunjun@btb-app-lux-1:~$ kill %2

hong.hyunjun@btb-app-lux-1:~$ jobs

[1]+  Stopped                 vi aa

[2]-  Terminated              find / -name abc

 

결론은 jobs 명령어로 백그라운드로 실행중인 (Running) job을 찾은 후 kill 명령어로 죽이시면 됩니다.

이때 kill 명령어의 인자로 jobs로 검색된 job의 인덱스 번호를 %기호와 함께 사용하시면 됩니다.

 

추가로 background로 실행 중인 프로세스를 foreground로 활성화 시키고 싶으시다면 fg 명령어를 활용할 수 있습니다.

hong.hyunjun@btb-app-lux-1:~$ fg %1

반대로 실행중인 프로세스를 background로 넘기고 싶으시다면 실행 중에 Ctrl+z 를 쓰시면 됩니다.


'Web > Ubuntu' 카테고리의 다른 글

패키지 설치 방법  (0) 2010.05.06
Ubuntu 기본 메뉴얼  (0) 2010.05.06
server version에 gui 설치  (0) 2010.03.10
freenx 설치  (0) 2010.03.10
파일시스템에 대한 내용  (0) 2010.03.10
Posted by jazzlife
,