Linux 백그라운드 실행 shell (데몬) 만들기

Linux 2015. 10. 30. 12:53
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

nohup 

- 행업 시그널이 와도 무시하며 실행을 계속하는 명령어. 터미널이 끊겨도 계속 수행됨


&(백그라운드 프로세스) 

- 새로운 프로세스를 생성하여 작업을 수행시켜서 새로운 작업을 현재 세션에서 가능하도록 해주는 것.

- 언젠가 bash에서 "터미널 연결이 끊어져도 실행이 계속되는" 옵션이 디폴트가 되었음


----------------------------------------------------------------------------------------------------------------


프로세스를 실행 할 때 

foreground 실행은 한 동작을 수행할 동안 다른 동작은 할 수 없는 상태이며, 


background 실행은 한 동작을 수행하는 동안 다른 작업을 할 수 있는 실행방법이다


 백그라운드 실행방법은 test.sh 을 실행할 때  test.sh &  처럼 실행 스크립트 뒤에 & 를 붙여주는 방식으로 실행한다



foreground 와 background 방식 두 개 모두 터미널이 끊어지면 실행이 끝나며, nohup 명령을 사용하면 종료 신호(Hangup Signal)


발생해도 계속 동작하기 때문에 터미널 연결이 끊어지는 상황이 와도 실행을 계속한다.


NoHUp( No Hang Up Signal)의 의미.


----------------------------------------------------------------------------------------------------------------


* nohup 실행 방법
  1. nohup test.sh & 

  2. nohup sh -- ./shell.sh &

* nohup 종료 방법
  1. ps -ef | grep test.sh
  2. kill -9 pid번호 프로세스 종료


nohup으로 실행할 스크립트 파일은 현재 실행 권한이 755 이상이어야 가능

  chmod 명령으로 권한 변경 (ex. chmod 755 test.sh)


* nohup 로그파일
  nohup으로 쉘파일을 실행하면 자동으로 "nohup.out" 파일이 생성되며 

  이 파일에는 리다이렉션을 사용하지 않은 출력문자열이 자동으로 저장된다.