Dork's port

SSH에서 백그라운드로 실행하기(세션이 종료되어도 유지) 본문

Linux

SSH에서 백그라운드로 실행하기(세션이 종료되어도 유지)

Dork94 2017. 9. 21. 20:06

SSH에서 작업을 하다보면 장기간 작업을 해야하는 경우가 있다.

 

그러나, 그렇다고 작업을 위해 장기간 SSH세션을 유지해야할수는 없는 노릇이기 때문에 아래의 명령어가 존재한다.

# nohup <process> &

 

 

nohup이라는 명령어를 사용하면 세션이 종료되어도 해당 작업을 유지하게 된다. nohup에 대한 자세한 설명은 아래와 같다.

 

※ nohupHUP(hangup) 신호를 무시하도록 만드는 POSIX 명령어이다. HUP 신호는 전통적으로 터미널이 의존 프로세스들에게

로그아웃을 알리는 방식이다.

일반적으로 터미널로 향하는 출력은 별도로 넘겨주기 처리를 하지 않았을 경우 nohup.out이라는 이름의 파일로 출력된다.

 

출처 : https://ko.wikipedia.org/wiki/Nohup

 

&의 뜻은 Background에서 실행하겠다는 의미로 장기간 작업의 경우 Foreground에서 실행하게 되면 다른 작업을 하지 못하는 경우가 발생한다.

 

때문에 &옵션을 주어 다른 작업을 할수 있게 만든다.

 

# jobs

 

 

위의 명령어를 통해 현재 백그라운드에서 작업 중인 프로세스에 대한 정보를 확인할 수 있고,

 

 

# fg % <processID>

 

 

명령어를 통해 다시 Foreground로 실행 시킬 수 있다.

 

마찬가지로 Foreground에서 실행하는 명령어를 Background에서 실행을 원할경우

 

Ctrl + z 를 입력하여 해당 프로그램을 중지 시킨 후,

 

# jobs

 

 

 

위의 명령어로 프로세스 확인후

# bg % <processID>

 

 

 

명령어를 통해 백그라운드로 다시 작업시킬 수 있다.

Comments