터미널에서 screen 명령을 내리면 새로운 세션이 생성되어서 들어가고 이것을 백그라운드?상태로 떼어내려면 ctrl+a를 누른후 d키를 누르면 원래 터미널로 돌아온다. 그리고 다시 떼어낸 특정 screen session에 들어가려면 screen -ls 명령을 내린후 세션넘버를 찾아서 screen -r 명령을 통해서 다시 진입한다.
aero@host:~$ screen -ls
There are screens on:
7295.pts-0.sweetpea (2010년 11월 08일 13시 56분 14초) (Detached)
7271.pts-0.sweetpea (2010년 11월 08일 13시 55분 35초) (Detached)
2 Sockets in /var/run/screen/S-aero.
aero@host:~$ screen -r 7271
하지만 이렇게 하면 어느 세션에 어떤 작업을 하는지 나중에 헷갈릴 수 가 있는데 세션번호 대신에 특정 의미있는 단어들을 세션이름으로 지정할 수 있으면 편리할 것이다.그렇게 하려면 다음 처럼 screen -S 세션이름 명령으로 세션이름을 지정해서 새로운 세션을 지정하면 된다.
aero@host:~$ screen -S DB
[detached from 7328.DB]
aero@host:~$ screen -S WEB
[detached from 7347.WEB]
aero@host:~$ screen -ls
There are screens on:
7347.WEB (2010년 11월 08일 14시 00분 33초) (Detached)
7328.DB (2010년 11월 08일 14시 00분 23초) (Detached)
2 Sockets in /var/run/screen/S-aero.
aero@host:~$ screen -r DB
이제 -r 옵션에 세션이름을 지정해서 해당세션을 복구할 수 있다.
그러면 이미 떠있는 세션이름을 바꿀려면 어떻게 해야 할까?
방법은 두가지가 있다.
첫번째 방법은 해당 screen session에 들어간 다음 수동으로 ctrl+a 를 누른후 :sessionname 새로운세션이름 을 써서 바꾸는 방법이며 두번째 방법은 아래처럼 screen -ls에서 세션번호나 세션이름을 알아낸 다음처럼 -S 옵션으로 해당 세션번호나 이름을 지정하고 해당 세션에 명령을 날리는 -X 옵션으로 sessionname 새로운세션이름 수동으로 하던 명령을 날리는 것이다.
aero@host:~$ screen -ls
There is a screen on:
7374.pts-0.sweetpea (2010년 11월 08일 14시 03분 47초) (Attached)
1 Socket in /var/run/screen/S-aero.
aero@host:~$ screen -S 7374 -X sessionname aero
aero@host:~$ screen -ls
There is a screen on:
7374.aero (2010년 11월 08일 14시 03분 47초) (Detached)
1 Socket in /var/run/screen/S-aero.
댓글 없음:
댓글 쓰기