ssh 실행중인 프로세스 유지한 채로 로그아웃하기


어떤 명령을 nohup으로 실행하지 않고
포그라운드로 프로세스를 실행하다가 ssh를 로그아웃해야 할 때 사용하는 기능입니다.

1. ctrl + z를 눌러 포그라운드로 실행되는 프로세스를 중단시킵니다.
2. bg 를 입력해 중단된 프로세스를 백그라운드에서 실행
3. disown 를 입력해 작업의 소유권을 shell session에서 해제
4. ssh 로그아웃

위와 같이 한 다음, 다시 로그인 해 확인하면
해당 프로세스가 끊기지 않고 계속 동작하는 것을 볼 수 있습니다.

일단 최소화하고 나서 어떤 프로그램이 있는지 보려면
jobs 로 확인 가능합니다.


 
$ python3 test.py


# ctrl + z 키 누름


[1]+  Stopped                 python3 test.py
$ bg # 만약 bg로 되지 않는다면 bg 1 입력
[1]+ python3 test.py &
$ disown
$ exit
 
# 이후 ssh 재로그인 한 다음 프로세스 확인
 
$ ps -ef | grep python
bear  9341  9288 31 09:19 pts/0    00:00:17 python3 test.py

이전에 백그라운드로 실행시킨 작업들에 대해 모두 shell session 소유권을 해제하고자 하면 -a 옵션을 붙이면 됩니다.
$ disown -a # 백그라운드 전체 프로세스에 대해 소유권 해제

다음 글 이전 글
1 Comments
  • Unknown
    Unknown 10월 27, 2020

    감사합니다.

댓글 쓰기
comment url