[Network] SSH - TMUX 를 이용한 프로그램 반영구적 실행



TMUX 


SSH 서버에서 소켓 프로그래밍을 하는 등 종료되지 않고 계속 실행되야 하는 경우가 있다. 또는 엄청난 연산으로 인해 시간이 오래 걸리는 프로그램 같은 경우 컴퓨터를 장시간 켜놔야 하기 때문에 여러가지로 부담이 된다. 

이를 위해 TMUX를 이용하여 SSH 서버 내에서 프로그램이 꺼지지 않고 계속 유지되게 해줄 수 있다. TMUX를 이용하면 SSH 연결을 종료해도 프로그램이 해당 TMUX 세션에서 계속 실행되기 때문에 반영구적으로 실행할 수 있고, 원하는 때 세션에 접속해서 확인하거나, 세션을 끊을 수 있다.




TMUX 설치

다른 프로그램 설치하는 것과 비슷하다.
$ sudo apt-get install tmux




TMUX 실행


그냥 tmux 만 쳐도 실행할 수 있다. tmux만 치고 세션을 확인할 경우 세선 이름이 0, 1, ... 로 설정된다.
$ tmux





TMUX 세션 만들기

위처럼 tmux 만으로도 세션을 만들 수 있지만, 이름을 지정해서 만들 수도 있다.
$ tmux new -s session name





TMUX 리스트 확인


현재 어떤 세션이 작동하고 있는지 확인할 수 있다.
$ tmux ls





TMUX 세션 제거


다 쓴 세션을 종료한다. 세션 밖에서 종료하는 방법과, 세션 안에서 종료하는 방법이 있다.

1) 세션 밖에서 세션 종료

tmux kill-session -t session name

2) 세션 안에서 세션 종료

세션에 진입 후
exit





TMUX 세션 진입


실행 중인 세션에 진입한다.
tmux attach -t session name or number






현재 진입한 세션 숨기기


세션을 종료하는 게 아니라 세션 창을 숨기는 것이다. 종료하려면 위의 세션 제거를 해야하고, 창을 숨기고 다른 작업을 하는 방법은 아래를 순서대로 입력한다.

1. ctrl + b
2. d





이제 컴퓨터를 켜지 않고 서버를 돌려보도록 하자.




댓글