명령어/Linux

[리눅스] nohup 터미널 닫아도 계속 실행 백그라운드

jykim23 2026. 7. 9. 11:30
반응형

부제: 로그아웃하거나 터미널을 닫아도 작업이 안 끊기게 하기

nohup ./job.sh &                  # 끊겨도 계속, 출력은 nohup.out
nohup ./job.sh > job.log 2>&1 &   # 로그 파일 지정
$ nohup echo "detached run"
nohup: ignoring input and appending output to 'nohup.out'
$ cat nohup.out
detached run

터미널을 닫으면 거기서 띄운 프로세스도 신호(HUP)를 받고 같이 죽는다.
nohup은 그 신호를 무시하게 해서 SSH가 끊기거나 로그아웃해도 작업이 계속 돌게 한다.
뒤에 &를 붙여 백그라운드로 보내는 게 보통이다.

이렇게도 쓴다

출력을 원하는 로그 파일로 보낸다(기본 nohup.out 대신).

nohup ./train.sh > train.log 2>&1 &

 

실행하고 바로 셸에서 떼어낸다(disown 조합).

./job.sh & disown

 

PID를 저장해 나중에 종료할 수 있게 한다.

nohup ./server.sh > s.log 2>&1 & echo $! > server.pid

 

로그를 실시간으로 보면서 백그라운드로 돌린다(tail 조합).

nohup ./job.sh > job.log 2>&1 & tail -f job.log
반응형