nohup 은 백그라운드로 프로그램을 실행할 수 있게 해준다

nohup 은 백그라운드로 프로그램을 실행할 수 있게 해준다
Photo by Simon Kadula / Unsplash

nohup은 리눅스나 유닉스 시스템에서 백그라운드로 실행하면서 로그아웃하더라도 프로세스가 종료되지 않도록 하는 명령어다.

실행

nohup 명령어를 사용하여 프로세스를 실행하는 방법은 다음과 같다.

nohup [command] &

예를 들어, node server.js를 백그라운드에서 실행하고 싶다면 다음과 같이 nohup 명령어를 사용할 수 있다.

nohup node server.js &

이렇게 실행하면 server.js 파일이 백그라운드에서 실행되고, 터미널을 종료하더라도 server.js 프로세스는 계속 실행된다.

로그남기면서 실행

또한, nohup 명령어는 로그를 기록하기 위한 파일을 지정할 수 있다.

nohup [command] > [output file path] 2>&1 &

예를 들어, server.js를 실행하면서 로그를 log.txt 파일에 기록하고 싶다면 다음과 같이 명령어를 입력할 수 있다.

nohup node server.js > log.txt 2>&1 &

이렇게 하면 server.js 파일이 백그라운드에서 실행되면서 로그가 log.txt 파일에 기록된다.

참고로, 2>&1은 표준 에러 출력을 표준 출력으로 리디렉션하는데 사용된다. 이를 통해 표준 에러 출력도 log.txt 파일에 함께 기록된다.