본문 바로가기

Linux

nohup을 대체 하는 screen

출처 : http://blog.storymate.net/197


http://iprize.textcube.com/335  에서 사용법을 익혔습니다. 없으면 apt-get 같은걸로 설치할 수 있습니다.

$sudo apt-get install screen

일종의 가상 터미널로 실행되고, detach하면 putty를 꺼도 실행중인 명령이 취소되지 않습니다.

터미널 생성 방법

$ screen -S terminal_name

하면 bash shell 이 뜹니다. 여기서 원하는 명령어를 입력한 뒤에 Ctrl+a, Ctrl+d 를 누르면 detach됩니다.

 

detach 됐던 터미널을 다시 붙일때는 

$ screen -x terminal_name


하면 되며

 

$ screen -list

하면 기존에 생성했던 가상 터미널의 목록을 출력해 줍니다.

 

그리고 만약 직전에 생성한 가상터미널에 연결하고 싶으면


$ screen -r

하고 입력하면 됩니다.

이걸 알기 전에는 nohup 을 썼는데 nohup은 쓰기가 불편하고 완벽하지 않았습니다. nohup을 써도 터미널을 닫으면 작업이 취소돼버리는 경우가 있었습니다. 일단 screen은 편해서 좋군요.


Use: screen [-opts] [cmd [args]]

 or: screen -r [host.tty]


Options:

-a            Force all capabilities into each window's termcap.

-A -[r|R]     Adapt all windows to the new display width & height.

-c file       Read configuration file instead of '.screenrc'.

-d (-r)       Detach the elsewhere running screen (and reattach here).

-dmS name     Start as daemon: Screen session in detached mode.

-D (-r)       Detach and logout remote (and reattach here).

-D -RR        Do whatever is needed to get a screen session.

-e xy         Change command characters.

-f            Flow control on, -fn = off, -fa = auto.

-h lines      Set the size of the scrollback history buffer.

-i            Interrupt output sooner when flow control is on.

-l            Login mode on (update /var/run/utmp), -ln = off.

-list         or -ls. Do nothing, just list our SockDir.

-L            Turn on output logging.

-m            ignore $STY variable, do create a new screen session.

-O            Choose optimal output rather than exact vt100 emulation.

-p window     Preselect the named window if it exists.

-q            Quiet startup. Exits with non-zero return code if unsuccessful.

-r            Reattach to a detached screen process.

-R            Reattach if possible, otherwise start a new session.

-s shell      Shell to execute rather than $SHELL.

-S sockname   Name this session <pid>.sockname instead of <pid>.<tty>.<host>.

-t title      Set title. (window's name).

-T term       Use term as $TERM for windows, rather than "screen".

-U            Tell screen to use UTF-8 encoding.

-v            Print "Screen version 4.00.03jw4 (FAU) 2-May-06".

-wipe         Do nothing, just clean up SockDir.

-x            Attach to a not detached screen. (Multi display mode).

-X            Execute <cmd> as a screen command in the specified session.


 

'Linux' 카테고리의 다른 글

Ubuntu에 NFS4 쓰기  (1) 2012.06.14
하드디스크 파티션에 대해서  (0) 2012.05.02
tar, gzip, split  (0) 2012.04.04
vi 키맵핑 차이점  (0) 2012.03.21
리눅스 캐쉬 메모리 정리  (0) 2012.03.21