| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- 명령어
- linux
- UnixCommand
- 자바스크립트
- JavaScript
- 사용자관리
- tcsh
- 시스템관리
- sysadmin
- 쉘스크립트
- 터미널
- 유닉스
- 리눅스명령어
- Solaris
- php
- terminal
- PackageManagement
- Unix명령어
- 파일시스템
- linuxcommand
- cups
- bash
- js
- 정규표현식
- shell
- 리눅스
- 유닉스명령어
- coreutils
- UNIX
- environment
Archives
- Today
- Total
ioerror
nohup - 터미널이 종료되어도 백그라운드에서 프로세스를 지속적으로 실행하는 명령어 본문
반응형

nohup - Run a command immune to hangups, with output to a non-tty
터미널 세션이 끊기거나 사용자가 로그아웃하더라도 실행 중인 프로그램이 중단되지 않고 백그라운드에서 계속 실행되도록 제어하다. 백그라운드 작업의 표준 출력과 표준 에러는 기본적으로 특정 파일로 리다이렉션되다. 리눅스 및 유닉스 계열의 모든 OS와 Bash, Zsh 등 대부분의 쉘 환경에서 기본적으로 지원되다. 대규모 데이터 처리나 시간이 오래 걸리는 스크립트를 실행할 때 유용하다.
1. 명령어 용도
- 원격 서버(SSH)에 접속하여 시간이 오래 걸리는 백업 스크립트를 실행한 후, 터미널을 안전하게 종료하고 싶을 때 사용하다.
- 배포 스크립트나 API 서버를 백그라운드에서 상시 구동 상태로 유지하고자 할 때 활용되다.
2. 명령어 서식
nohup [명령어] [인자...] [&]
3. 명령어 옵션
nohup 자체는 범용적인 표준 명령어 특성상 자체 옵션이 거의 존재하지 않다. POSIX 표준에 명시된 기본 옵션은 아래와 같다.
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| --help | 명령어의 사용법 및 도움말을 출력하다. | [GNU/Linux] |
| --version | nohup 명령어의 버전 정보를 출력하다. | [GNU/Linux] |
명령어 옵션 사용시 결과 예시
nohup은 주로 쉘의 백그라운드 실행 기호(&) 및 리다이렉션 기호(>, 2>&1)와 조합되어 사용되다.
# 1. 기본적인 백그라운드 실행 (출력은 nohup.out으로 자동 리다이렉션)
nohup python3 long_task.py &
# [1] 12345
# nohup: ignoring input and appending output to 'nohup.out'
# 2. 표준 출력과 표준 에러를 별도의 파일로 지정하여 실행
nohup ./myscript.sh > myscript.log 2>&1 &
# [2] 12346
- [1] 12345: 쉘에서 부여한 작업 번호(Job ID)가 1번이며, OS가 할당한 프로세스 ID(PID)가 12345임을 의미하다.
- nohup: ignoring input...: 표준 입력(stdin)을 무시하고, 실행 결과(stdout/stderr)를 현재 디렉토리의 nohup.out 파일에 기록하기 시작했다는 안내 메시지이다.
4. 명령어 특이사항(유의사항)
- nohup으로 실행한 프로세스는 터미널이 닫혀도 유지되지만, OS 자체가 리부팅되면 종료되므로 시스템 재시작 후에도 유지하려면 systemd 서비스 등록이나 crontab을 고려해야 하다.
- 실행한 디렉토리에 쓰기 권한이 없는 경우, nohup.out 파일 생성을 시도하다가 실패하며 홈 디렉토리($HOME/nohup.out)에 결과 저장을 시도하다. 두 곳 모두 권한이 없으면 명령어 실행 자체가 실패하다.
- StackOverflow 등에서 자주 발생하는 질문 중 하나는 nohup을 썼음에도 터미널 종료 시 프로세스가 죽는 현상이다. 이는 쉘 환경에 따라 SIGHUP 시그널 처리 방식이 다르기 때문이며, 명령어 뒤에 반드시 백그라운드 기호 &를 붙이고 exit 명령어를 통해 정상적으로 터미널을 닫아주는 것이 안전하다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| patch 사용법 및 옵션 - 소스코드의 차이점(Diff) 파일을 원본 파일에 적용하여 업데이트하는 명령어 (0) | 2026.06.29 |
|---|---|
| passwd 사용법 및 옵션 - 사용자 계정의 비밀번호를 변경하고 관리하는 명령어 (0) | 2026.06.29 |
| ntpdate - NTP 서버를 통한 시스템 시간 동기화 (0) | 2026.06.03 |
| nslookup - 네임 서버를 통한 도메인 및 IP 주소 조회 (0) | 2026.06.03 |
| nkf - 네트워크 코드 변경을 위한 문자열 인코딩 변환 명령어 (0) | 2026.06.02 |
Comments