[Linux] Nohup, & 이란?

[Linux] Nohup, & 이란?


Nohup

  • 리눅스, 유닉스에서 쉘스크립트파일 (*.sh)을 데몬형태로 실행시키는 프로그램
  • 터미널 세션이 끊겨도 실행을 멈추지 않고 동작하도록 함
    • &만 붙여도 백그라운드에서 작업을 수행하기는 하지만, 사용자가 터미널 세션을 끊어버리면 백그라운드로 작업중인 작업도 같이 종료가 되어 추후 문제가 생길 소지가 다분하다.

&이란?

  • 프로세스를 실행할 때 백그라운드에서 동작하도록 만드는 명령어
  • 요즘은 옵션설정으로 nohup과 같은 동작도 추가시킬수 있음

주의사항

  • nohup으로 실행할 쉘스크립트파일(*.sh)은 현재 펴미션이 755이상 상태여야 함
  • chmod 755 shell.sh

실행방법

nohup shell.sh 1>/dev/null 2>&1 &
  • 0 : 표준 입력
  • 1 : 표준 출력
  • 2 : 표준 에러
  • 1>/dev/null : 1의 결과를 /dev/null(블랙홀)이라는 파일 속으로 넣는다. 즉, 사라진다
  • 2>&1 : 표준 에러를 표준 출력으로 재지향

종료방법

  1. "ps -ef | grep 쉘스크립트파일명" 명령으로 데몬형식으로 실행
  2. "kill -9 PID번호" 명령으로 해당 프로세스 종료

팁 

만약 nohup 명령어로 직접 만든 스크립트를 실행하고자 하는데 명령어를 입력 후 엔터를 치면 exit이 나온다면 스크립트에 에러가 있어 종료가 되는 것


출처



댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유