-
[Linux] 실행중인 프로세스 유지한 채 ssh 로그아웃하기서버 2016. 11. 11. 09:30
nohup으로 실행하지 않고 포그라운드로 프로세스를 실행하다가 ssh를 로그아웃해야 할 때 사용하는 기능입니다.
- ctrl + z를 눌러 포그라운드로 실행되는 프로세스를 중단시킵니다.
- bg 를 입력해 중단된 프로세스를 백그라운드에서 실행
- disown 를 입력해 작업의 소유권을 shell session에서 해제
- ssh 로그아웃
위와 같이 한 다음, 다시 로그인 해 확인하면 해당 프로세스가 끊기지 않고 계속 동작하는 것을 볼 수 있습니다.
$ 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 # 백그라운드 전체 프로세스에 대해 소유권 해제