Linux 명령어 중에 Shell 접속이 끊어지더라도, 프로세스를 죽이지 않기 위해 screen 을 사용할 수 있다.
screen 은 가상의 shell을 담당하여, 실제 shell의 접속 여부와 상관없이 프로세스를 계속적으로 진행하게 해준다.
초간단 사용법
1. 스크린 생성
$ screen
screen 명령어에 아무런 옵션이 없는 경우 임의의 이름을 가지는 screen을 생성한다.
이름을 지정하기 위해서는 screen -S <NAME> 과 같이 -S 옵션을 사용하면 된다.
2. Detach
screen에 접속한 상태에서 screen으로 명령을 전달하기 위해서는 ctrl+a 를 입력 한 뒤에 명령을 입력해야 한다.
screen에서 접속을 해제하는 detach 명령어는 d 이다
3. List 확인
Detach 한 screen에 재접속(Reattach) 하기 위해서는 우선 해당 screen의 이름을 알거나, Process ID를 알아야 한다.
Screen의 Process ID를 확인하기 위해서는 아래와 같이 -x 옵션을 사용한다.
$ screen -x
이 때, 활성화된 screen 이 1개밖에 없는 경우, 해당 screen으로 바로 재접속(Reattach) 된다.
4. Reattach
3에서 확인한 Process ID 혹은 screen 이름으로 Reattach 하는 명령은 -r 옵션을 사용한다.
$ screen -r <Process_ID | screen_name>
5. Kill
screen에 접속한 상태에서 해당 screen을 kill 하는 명령어는 k 이다.
Kill 명령의 경우 진짜로 죽일 것인지 한 번 더 확인한다.
6. Screen for running multiple processes
Screen command option 중 -dmS 옵션을 사용하면 각 Process를 동작하는 screen을 여러개 생성할 수 있다. 프로세스가 종료되면 screen 또한 종료된다.
Bash script 와 함께 활용하면 유용하다.
#!/bin/bash
for size in 2 4 8 16 32
do
screen -dmS screen_${size} ./test.sh ${size}
done
'Programming > Linux' 카테고리의 다른 글
How to use GDB (0) | 2020.03.12 |
---|---|
PhantomJS Installation on Ubuntu from source (0) | 2018.12.10 |
Xshell + Xming (0) | 2018.09.10 |
Memtester (0) | 2018.07.15 |
Ctags (0) | 2018.07.03 |