컴퓨터 / / 2020. 11. 28. 11:03

리눅스 nohup 명령어 쉬운 사용 법

리눅스 시스템에서 종종 사용되는 nohup 명령어는 no hangups 라는 의미를 담고 있으며 Shell 스크립트 파일을 데몬 형태로 실행 한다고 생각을 하면 됩니다. 어플리케이션 구동 시 이 명령어를 통해 터미널이 끊어지더라도 프로세스를 계속해서 동작하도록 할 수 있는 명령어 입니다.

nohup 명령어는 크게 2가지의 용도로 사용이 되고 있습니다.
  1. 표준 출력을 nohup.out 파일로 돌려서 로그를 남길 수 있습니다.
  2. 터미널이 끊어져도 중단되지 않도록 백그라운드 작업을 수행할 수 있습니다.

nohup 명령어를 통해 실행하기 위해서는 755 이상 권한이 필요합니다. 또한 이렇게 어플리케이션을 실행하게 되면 nohup.log 파일이 생성되며 명령어 맨 뒤에 &를 사용하게 되면 터미널이 끊어져도 계속해서 어플리케이션 구동을 할 수 있게 백그라운드로 돌릴 수가 있습니다.




nohup 명령어를 통해 어플리케이션을 실행하는 것은 간단합니다.
$ nohup 실행파일
$ nohup 실행파일 $

2번째 방법처럼 뒤에 $ 를 붙이게 되면 백그라운드로 실행할 수 있습니다. 그리고 앞에 nohup 명령어를 사용했기 때문에 해당 디렉토리에 nohup.log 파일이 생성되고 표준출력이 떨어집니다.


표준출력에 대한 로그 파일이 생성되는 것이 마음에 들지 않는다면 로그 파일이 남지 않도록 하는 것도 가능합니다. /dev/null로 보내버리는 명령어 한 줄만 추가를 하면 됩니다.

$ nohup 실행파일 1>/dev/null 2>$1 $
이렇게 명령어를 수행하면 결론적으로 표준 출력 내용을 /dev/null로 보내서 없애는 것입니다.


만약, nohup 명령어를 사용하여 백그라운드로 실행중인 어플리케이션을 중지하고 싶다면 ps 명령어로 PID 번호를 찾아서 프로세스를 중지하는 방법을 사용할 수 있습니다.

$ ps -ef | grep 프로세스명
$ kill -9 PID번호


반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유