웹사이트 검색

Linux의 Nohup 명령


Linux 시스템의 셸을 종료하면 일반적으로 실행 중인 모든 프로세스가 종료되거나 중단됩니다. 쉘/터미널을 종료하더라도 프로세스를 계속 실행하려면 어떻게 해야 합니까? 이것은 nohup 명령이 들어오는 곳입니다.

노홉 명령

no hang up의 줄임말인 Nohup은 셸이나 터미널을 종료한 후에도 프로세스를 계속 실행하는 Linux 시스템의 명령입니다. Nohup은 프로세스나 작업이 SIGHUP(Signal Hang UP) 신호를 수신하지 못하게 합니다. 이것은 터미널을 닫거나 종료할 때 프로세스로 전송되는 신호입니다. 이 가이드에서는 nohup 명령을 살펴보고 사용 방법을 보여줍니다.

Nohup 명령 구문

Nohup 명령 구문은 다음과 같습니다.

nohup command arguments

또는

nohup options

명령이 어떻게 작동하는지 봅시다

Nohup 버전 확인

아래 구문을 사용하여 Nohup 버전을 확인하여 시작할 수 있습니다.

nohup --version

Nohup을 사용하여 프로세스 시작

프로세스/작업을 계속 실행하려면 아래와 같이 명령 앞에 nohup을 입력하십시오. 작업은 셸에서 계속 실행되며 셸이나 터미널을 종료해도 종료되지 않습니다.

nohup ./hello.sh 
cat nohup.out
nohup ./hello.sh > output.txt

다시 한 번 파일 실행을 보려면

cat output.txt
nohup ./hello.sh > myoutput.txt >2&1 

Nohup을 사용하여 백그라운드에서 프로세스 시작

백그라운드에서 프로세스를 시작하려면 명령 끝에 & 기호를 사용하십시오. 이 예에서는 google.com을 ping하고 백그라운드로 보냅니다.

nohup ping google.com &
pgrep -a ping
kill 2565

요약

  1. nohup 명령을 사용하여 실행되는 모든 프로세스는 셸 종료 시에도 SIGHUP 신호를 무시합니다.
  2. nohup 명령을 사용하여 작업이 시작되거나 실행되면 사용자는 stdin을 사용할 수 없습니다.
  3. 기본적으로 nohup.out은 stdout 및 stderr의 기본 파일로 사용됩니다.