반응형
nohup
이란?
nohup
은 "no hang up"의 줄임말로,
터미널 세션이 종료되더라도 해당 명령어로 실행된 프로세스는 중단되지 않고 계속 실행되도록 하는 리눅스 유틸리티입니다.
주로 백그라운드 실행 + 로그아웃 유지 목적으로 사용됩니다.
기본 사용법
nohup [명령어] &
nohup
: SIGHUP(세션 종료) 신호를 무시하도록 설정[명령어]
: 실행할 명령 또는 스크립트&
: 명령어를 백그라운드로 실행
출력 파일 (nohup.out
)
기본적으로 nohup
으로 실행한 명령어의 출력은 현재 디렉토리의 nohup.out
파일에 저장됩니다.
nohup some-command &
- 표준 출력(STDOUT)과 표준 에러(STDERR)가
nohup.out
으로 리디렉션됨
원하는 로그 파일로 출력하려면 다음과 같이 사용합니다:
nohup some-command > mylog.log 2>&1 &
실전 예시
1. Spring Boot 애플리케이션 실행
nohup java -jar app.jar > app.log 2>&1 &
app.log
에 실행 로그 기록- 터미널 종료해도 앱은 계속 실행됨
2. 쉘 스크립트 실행
nohup ./backup.sh > backup.log 2>&1 &
실행 확인 및 종료
프로세스 확인
ps -ef | grep app.jar
또는 포트 기준 확인:
lsof -i :8080
프로세스 종료
kill -9 [PID]
참고 사항
항목 | 설명 |
---|---|
로그아웃 영향 없음 | SSH 세션을 종료해도 실행 중인 프로세스 유지 |
로그 파일 주의 | nohup.out 이 계속 쌓이므로 logrotate 설정 권장 |
tmux/screen 대안 | 명령어 상호작용이 필요한 경우 tmux , screen 사용 고려 |
결론
nohup
은 서버 운영 중 백그라운드에서 오랫동안 실행되는 작업에 필수적인 도구입니다.
SSH 연결이 끊기더라도 작업을 유지할 수 있기 때문에,
스크립트 실행, 배치 작업, 애플리케이션 기동 등에 널리 사용됩니다.
반응형
'System Settings' 카테고리의 다른 글
[WEB/WAS 개념 정리 시리즈] 5편 - WAS–DB 구성 및 APM 활용 (1) | 2025.05.14 |
---|---|
[WEB/WAS 개념 정리 시리즈] 4편 - Web–WAS 연동: 로드밸런싱과 세션 클러스터링 (0) | 2025.05.14 |
[WEB/WAS 개념 정리 시리즈] 3편 - Apache MPM 방식과 Web 처리 구조 (0) | 2025.05.14 |
[WEB/WAS 개념 정리 시리즈] 2편 - JVM 구조 및 GC 메커니즘 (1) | 2025.05.14 |
[WEB/WAS 개념 정리 시리즈] 1편 - WEB/WAS 개요 및 호출 구조 (0) | 2025.05.14 |