Linux Commands

Terminal Shortcut tmux cut jq screen split

screen session에서 작업을 수행하면 terminal session이 끊기더라도 session이 유지되어 작업이 끊기지 않는다.
그래서 screen은 linux server에서 batch 작업이나 장 시간 작업을 수행할 때, background 작업을 수행할 때 많이 사용한다.

screen은 창 분할을 위해서도 사용할 수 있지만 이런 경우 나는 주로 tmux를 사용한다.

session 외부 명령어

동작 명령어 설명
list screen session screen -list
screen -ls
현재 열려있는 screen session와 각 screen에 대한 detach/attach 여부, screen 생성 시간, sessionId를 확인할 수 있다.
start screen screen -S {name} name으로 screen을 생성하고 screen에 진입한다.
이미 있는 이름으로 생성하더라도 새로운 session을 만들어주는데, 이는 sessionId가 다르기 때문에 다른 id 이다.
enter screen screen -r {name} or {sessionId} session에서 나온 이후에 동일한 session에 진입할 때 사용한다.
name이나 sessionId로 들어갈 수 있다. 같은 name의 session이 여러 개인 경우 sessionId를 명시해야 한다.
enter screen screen -x {name} or {sessionId} 혼자서 쓰면 -r 이랑 유사하다.
-x option은 screen이 attach 상태(다른 terminal에서 접속한 상태) 여도 들어갈 수 있다.
-r option은 attach 상태면 들어갈 수 없다.
여러 터미널에서 동시에 진입한 경우 세션이 공유되어 동일한 세션이 터미널에 공유된다.
kill screen creen -X -S {name} kill 하나의 session 죽이기.
session을 exit하지 않고 detach 해서 나오면 screen의 session은 살아있기 때문에 이걸 종료하는데 사용된다.
kill all screen killall screen
pkill screen
모든 session을 종료하기.
실수가 남을 수 있어서 조심해야 한다.

session 내부 명령어

동작 명령어 설명
detach screen ctrl + a d screen session에서 나오기. detach로 나오면 session은 살아있으면서 나오는 것.
가장 빈번하게 사용되는 커맨드
check sessionId echo $STY session 내부에서 현재 sessionId를 확인하기 위한 커맨드.
현재 터미널이 screen 내부에 있는 것이 맞는지 확인하기 위해 빈번히 사용된다.

그 외의 다양한 명령어들이 많으나, 창 분할은 tmux를 사용하는 것이 더 편리하다.