Blog categories

Comments

[Linux] Background, Screen 작업 실행

[Linux] Background, Screen 작업 실행

Background 작업으로 수행 하기 위해서는 명령 끝에 ‘&’ 를 붙여주면 된다.

rony@server:~$ ./target.sh &
  • Foreground 에서 수행중인 작업을 Background로 보내기 위해서는 [Ctrl + ‘-‘]
  • Foreground 작업을 일시중지 하기 위해서는 [Ctrl + ‘z’]
  • Background 작업 목록 보기 명령은 job

nohup을 사용 시 터미널 종료 후에도 작업을 지속할 수 있다.

rony@server:~$ nohup target.sh &

이때 작업에 대한 표준 출력은 nohup.out 파일에 저장된다.

rony@server:~$ tail -f nohup.out

하지만 nohup의 경우 프로세스를 Foreground로 가져올 수 있는 방법이 없다. 이를 위해 screen을 사용 가능하다.

screen 설치
root@server:~# apt-get install screen
screen 실행
rony@server:~$ screen -S screen_name

screen에서 나갈 때에는 [Ctrl + ‘a’], [d]

screen 목록 확인
rony@server:~$ screen -list
There is a screen on:
    1011.caffe    (02/10/2016 10:09:37 PM)    (Attached)
1 Socket in /var/run/screen/S-rony.
screen 재접속
rony@server:~$ screen -x screen_name

screen STDOUT에 대한 기록을 남기고 싶을 경우 ‘-L’ 옵션을 주어 Log를 남긴다.

rony@server:~$ screen -L -S screen_name

로그는 screenlog.0 과 같은 파일 형태로 남는다.

screen 에서 마우스 힐을 이용한 스크롤을 가능하게 하려면 .screenrc 파일을 수정한다.

defscrollback 5000
termcapinfo xterm* ti@:te@

 

만약 screen이 서로 꼬여서 현재 사용중이지 않지만 attached 상태로 표기되어서, screen -r 시도 하는 경우 Attach to an already attached screen 문구와 함께 screen 접속이 불가한 경우 다음 명령을 수행한다.

screen -rd screen_name

-d (-r): Detach the elsewhere runing screen (and reattach here).
기존의 screen을 detach 하고 새로 attach를 시도하는 것임으로 다시 기존과 같이 사용 가능하다.

혹은

screen -x screen_name

-x: Attach to a not detached screen. (Multi display mode)
다만 -x 명령을 사용하는 경우 이전 스크린 크기에 고정되어 스크린 경계가 표시된다.

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

div#stuning-header .dfd-stuning-header-bg-container {background-image: url(https://tech.sangron.com/wp-content/uploads/sites/2/2018/04/ubuntu_wallpaper_background.jpg);background-color: #3f3f3f;background-size: cover;background-position: top center;background-attachment: initial;background-repeat: no-repeat;}#stuning-header div.page-title-inner {min-height: 350px;}