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

Netsarang의 Xshell, Xftp 는 개인/학교 사용자의 경우 무료로 사용할 수 있다.

무료 버전과 유료 버전의 차이 점은 동시에 열 수 있는 shell 의 갯수의 제한 정도라고 하는데,

Xshell 과 Xftp만 무료이기 때문에, 유료로 구매하지 않으면 Xmanager(X11 포워딩) 을 사용할 수 없다.


따라서, Xming을 사용하여 X11 포워딩을 설정하여 사용한다.

(Xming 또한 무료)


Xming은 SourceForge.net에서 다운 받을 수 있다.


Xshell 실행 후 

파일 - 열기 - 세션 등록정보 에서

SSH - 터널링 의 X11 포워딩을 아래와 같이 설정해 주면 된다.

* 출처: https://www.netsarang.com/tutorial/xshell/2779/Using_X11_forwarding


혹은 Xshell 기본 세션 정보에서 수정하면, 기본 설정으로 X11 Forwarding 을 localhost:0.0으로 수정할 수 있다.

기본 세션 정보는 일반적으로 C:\Users\<User_name>\Documents\Netsarang Computer\Xshell\6\Xshell\Sessions\default 에 위치한다.

파일을 열어 

ForwardToXmanager=1 을

ForwardToXmanager=0 으로 수정한다.


Xming 으로 X11 포워딩 시 Xming이 사전에 실행되어 있어야 한다.

윈도우 시작프로그램으로 등록하는 것도 한 방법!


'Programming > Linux' 카테고리의 다른 글

PhantomJS Installation on Ubuntu from source  (0) 2018.12.10
Linux screen  (0) 2018.09.27
Memtester  (0) 2018.07.15
Ctags  (0) 2018.07.03
scp  (0) 2018.05.29

라즈베리파이 등을 사용할 때, Root Filesystem의 size가 실제 SD 카드의 사이즈 보다 작게 인식 되는 경우가 있다.

라즈베리 파이의 경우에는 raspi-config를 사용하여 resize 할 수 있지만,

일반적인 Command를 사용해서 resize 하는 방법은 아래와 같다.

해당 과정 중에 문제가 생기는 경우 Kernel panic으로 다시 살릴 수 없기에 SD카드를 백업해 둘 것을 추천한다.

 - 백업은 win32 DiskImager로 Read 하면 이미지로 백업 가능. 추후 write로 복원


1. 현재 partition 확인

fdisk 로 device 정보 확인 후,

$ fdisk -l


해당 디바이스의 사이즈가 실제 디바이스의 사이즈보다 작은 경우

partition table을 다시 작성해준다.

이 때, partition table Start sector를 확인해 둔다.

$ fdisk /dev/mmcblk0


우선 기존의 작게 인식되는 partition을 삭제해 준다.

Command (m for help): d

Partition number (1,2, default 2): 2


새로 partition을 추가 한다.

이때, start sector가 위에서 확인한 기존 partition table과 일치해야 kernel panic이 나지 않을 것이다.

Command (m for help): n

Partition type

p    primary (1 primary, 0 extended, 3 free)

e     extended (container for logical partitions)

Select (default p): p

Partition number (2-4, default 2): 2

First sector (2088450-31116287, default 2088960): 2088450

Last sector, +sectors or +size{K,M,G,T,P} (2088450-31116287, default 31116287): 


작성된 partition table을 저장 하고 종료한다.

Command (m for help): w


현재 사용 중인 시스템에서는 partition table을 다시 작성한 것이 재부팅 후에 인식이 되므로, 시스템을 재부팅 해준다.

$ shutdown -r now


재부팅 된 시스템에서, partition 사이즈가 제대로 인식이 되는지 확인한다.

$ fdisk -l


제대로 인식이 됐다면, resize를 해준다.

$ resize2fs /dev/mmcblk0p2


끗.

'Programming > RaspberryPi' 카테고리의 다른 글

Rasbian qbittorrent-nox installation  (0) 2019.11.19
SD card image backup  (0) 2018.10.12
RaspberryPi Remote Desktop Client  (0) 2018.06.01
Raspbian Korean(Hangul) Install  (0) 2018.05.18
Raspbian Install  (0) 2018.05.16

+ Recent posts