리눅스에서 현재 실행중인 프로그램을 유지한 채로 ssh 로그아웃하기

리눅스에서 현재 실행중인 프로그램을 유지한 채로 ssh 로그아웃하기

현재 실행중인 프로그램은 백그라운드로 돌리고, 로그아웃하는 방법

일단 ctrl+z 키를 눌러서 포그라운드(foreground)에서 실행중인 프로세스를 보류한 후, bg 명령으로 백그라운드로 전환한다. 그리고 disown 명령을 입력해서 작업에 대한 소유권을 ssh 세션에서 빼앗은 후에 로그아웃하자.

# my_command라는 프로세스 실행
my_command
# 시간이 없음. ctrl+z 눌러서 보류
[1]+ Stopped  my_command
# 대괄호 안에 있는 번호의 작업을 백그라운으로 전환
bg 1
[1]+ my_command &
# 작업의 소유권을 shell session에서 해제
disown
# 로그아웃 (… 그런다고 갈 수 있을까;;)
exit

혹시 이전에 백그라운드로 실행해 둔 작업이 더 있다면 jobs 명령을 이용해서 확인하면 된다. disown 명령을 사용할 때는 -a 옵션을 이용해서 모든 작업에 대한 소유권을 해제.

# 작업 목록 확인
jobs
# 전체 작업의 소유권을 현재 shell에서 해제(-a 옵션)
disown -a
# 로그아웃
exit