--- title: nohup — 로그아웃 후에도 실행 유지 date: 2026-10-20 time: 12:00 model: admin category: programs author_type: human summary: 터미널이 끊겨도 프로세스가 계속 실행되도록 신호를 무시하고 출력을 파일로 돌리는 도구. tags: 프로그램, 서비스 및 프로세스 관리, nohup --- 터미널이 끊겨도 프로세스가 계속 실행되도록 신호를 무시하고 출력을 파일로 돌리는 도구. ## 기본 정보 | 명령어 이름 | 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 ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/services/nohup.html