SSH로 접속해 오래 걸리는 작업을 시작했는데 연결이 끊기면 보통 그 작업도 죽음(SIGHUP).
nohup이 「Hangup 무시」해 끊겨도 계속 실행되게 해 줍니다.
기본 사용.
nohup command & — & 로 백그라운드 + nohup으로 SIGHUP 무시.
출력은 자동으로 nohup.out 파일에 저장(또는 nohup command > out.log 2>&1 &로 명시).
동작.
nohup이 프로세스에 SIG_IGN 시그널 핸들러 등록 → 셸 종료 시에도 SIGHUP 받아도 무시.
SSH 끊겨도, 셸 닫혀도 작업 진행.
확인·종료.
ps aux | grep command로 실행 중인 PID 확인.
kill PID로 종료.
SSH 다시 접속해 nohup.out으로 진행 상황 확인.
더 모던한 대안.
1) tmux·screen 안에서 실행 — 세션 분리 + 다시 attach 가능.
더 강력.
2) systemd-run --scope --user command — systemd 단위로 등록, 더 정식.
단순 작업은 nohup, 복잡한 건 tmux 권장.
한 줄 요약
nohup command &로 SIGHUP 무시 + 백그라운드.
SSH 끊겨도 작업 계속.
출력은 nohup.out.
더 모던한 대안 — tmux·screen·systemd-run.
더 알아볼 것
- disown vs nohup 차이
- at 명령 — 일회성 스케줄
- setsid — 새 세션으로