# 세줄 요약 #
- 리눅스 터미널에서 파이썬(.py) 등의 프로그램을 돌릴때 터미널 창을 닫아도 프로세스가 돌아갈 수 있도록 백그라운드에서 돌리는 방법
- nohup 명령어를 사용하여 프로세스를 돌리고, tail 명령어로 백그라운드에 돌아가고 있는 프로세스를 display 한다.
- nohup도 좋지만, TMUX를 사용시 훨씬 편해진다!
# 상세 리뷰 #
1. nohup
- nohup 명령어를 통해 프로세스를 백그라운드로 보내고, 프로세스 output은 nohup.out 파일에 저장된다.
- ! 만약 nohup.out 파일이 아닌 원하는 파일명으로 저장하고 싶은 경우:
- >>> nohup python main.py > test.out
- 단 nohup 명령어만 사용할 경우, log와 같은 output 결과물을 터미널 상에서 볼 수 없다.
- 따라서 tail 명령어를 사용하여 nohup.out에 저장되고 있는 output을 실시간으로 읽어드린다.
- 이때 터미널을 종료하거나 tail 명령어를 강제 종료(ctrl + z)하여도 백그라운드에서 돌아가고 있는 프로세스는 죽지 않는다.
nohup python main.py & tail -f nohup.out
2. TMUX (추천!)
- TMUX를 설치 시, tmux에 접속하여 사용하면 손쉽게 백그라운드 프로세싱이 가능하다.
sudo apt-get update
sudo apt-get install tmux
- tmux 접속
- command 창에서 tmux
tmux
- tmux status 설명 ([0] 0:bash*)
- [0] : tmux 번호, tmux 를 생성할 때마다, 0, 1, 2 순서로 생김.
- [>>> tmux ls] 명령어로 현재 생성된 tmux를 확인 가능하다.
- 0:bash*
- 0: window 번호, 아래의 명령어로 window를 추가 생성하면, 옆에 1, 2, 3 순서로 생성됨.
- bash : 사용중인 명령어, 혹은 프로세싱 중인 명령어
- * : 현재 조작 중인 window 표시, 아래의 명령어로 window를 옮기면 "*"도 옮겨간다.
- [0] : tmux 번호, tmux 를 생성할 때마다, 0, 1, 2 순서로 생김.
- tmux 명령어
- ctrl + b, c : window 생성 (다중 프로세스 가능!)
- crtl + b, n : 다음 window
- crtl + b, p : 이전 window
- ctrl + b, d : tmux detach (* command에서 exit 입력 시에는 tmux가 종료되므로 주의!)
- 실행 중인 tmux에 재접속
- 실행 중인 tmux 조회 후 [>>> tmux attach -t 0]처럼 열린 tmux로 접속
tmux ls # tmux 조회
tmux attach -t 0 # 생성된 번호로 접근
# Reference
https://linuxize.com/post/how-to-run-linux-commands-in-background/
https://linuxhint.com/install-tmux-ubuntu/
728x90
728x90
'AI프로그래밍 리뷰 > 프로그래밍' 카테고리의 다른 글
딥러닝을 위한 리눅스(Ubuntu) GPU 서버 구축하기 - 3. 추가 설정(도커, NFS) (0) | 2023.04.02 |
---|---|
딥러닝을 위한 리눅스(Ubuntu) GPU 서버 구축하기 - 2. GPU Setting (0) | 2023.04.02 |
딥러닝을 위한 리눅스(Ubuntu) GPU 서버 구축하기 - 1. Server setting (0) | 2023.04.01 |
리눅스 터미널에서 텐서플로가 GPU를 잡고 있는지 확인하는 방법 (0) | 2021.08.19 |
리눅스 터미널에서 딥러닝 학습 강제 중단했을때 GPU에 남은 메모리 정리하는 방법 (4) | 2020.04.02 |
댓글