English

nohup — 로그아웃 후에도 실행 유지

Linux / 서비스 및 프로세스 관리 / nohup.html

서비스 및 프로세스 관리원문등록 2026-10-20T09:00:00+09:00

터미널이 끊겨도 프로세스가 계속 실행되도록 신호를 무시하고 출력을 파일로 돌리는 도구.

기본 정보

명령어 이름nohup
한 줄 소개터미널이 끊겨도 프로세스가 계속 실행되도록 신호를 무시하고 출력을 파일로 돌리는 도구.
제공GNU coreutils (기본 탑재)
공식 문서https://man7.org/linux/man-pages/man1/nohup.1.html
지원 운영체제Linux, macOS, BSD
설치 여부기본 탑재 (별도 설치 불필요)
분류리눅스 서비스·프로세스 (태그: 프로세스·자원 관리 (태그: 백그라운드, 세션, 로그아웃))

이 명령어는 무엇인가?

nohup은 SIGHUP을 무시하도록 설정하고 표준 출력과 오류를 기본적으로 nohup.out에 기록합니다.

SSH 세션이 끊겨도 오래 걸리는 작업을 유지해야 할 때 가장 간단한 방법입니다.

어떤 문제를 해결하는가?

  • 장시간 백업을 SSH 종료 후에도 계속 실행합니다.
  • 세션 끊김으로 빌드가 중단되는 것을 막습니다.
  • 출력을 파일로 남겨 나중에 확인합니다.
  • 임시 배치 작업을 백그라운드로 돌립니다.

주요 기능

신호 무시

HUP 신호를 무시하도록 자식 프로세스를 실행합니다.

  • 활용 상황: 세션이 끊길 수 있는 환경
  • 얻는 결과: 로그아웃 후에도 계속 실행
  • 제한 사항: KILL 신호에는 여전히 종료됨

출력 리다이렉트

출력이 터미널이 아니면 nohup.out에 덧붙입니다.

  • 활용 상황: 실행 로그를 남길 때
  • 얻는 결과: nohup.out 파일에 기록
  • 제한 사항: 파일이 계속 커질 수 있음

백그라운드 결합

명령 끝에 &를 붙여 셸을 바로 돌려받습니다.

  • 활용 상황: 대화형 셸을 계속 쓸 때
  • 얻는 결과: 백그라운드에서 도는 작업
  • 제한 사항: 종료 여부는 별도로 확인해야 함

설치 및 실행

설치 여부 확인

nohup --version

apt install coreutils # usually already present

실제 사용 예제

백그라운드 실행

세션이 끊겨도 계속 도는 작업을 시작합니다.

# Keep running after logout, in the background
nohup ./long-task.sh &

출력 파일 지정

nohup.out 대신 원하는 경로에 기록합니다.

# Write output to a specific file
nohup ./backup.sh > /var/log/backup.log 2>&1 &

실행 확인

jobs와 ps로 상태를 확인합니다.

# Confirm the job is still alive
ps -ef | grep long-task