상세 컨텐츠

본문 제목

telnet으로 실행한 프로세스 telnet 접속 끊어져도 계속 유지하기 [출처] telnet으로 실행한 프로세스 telnet 접속 끊어져도 계속 유지하기|작성자 동네바보

프로그래밍/팁관련

by jin* 2012. 4. 2. 10:57

본문




telnet으로 원격의 서버에 로그인 후 명령(프로세스)들을 실행하고 
telnet 세션을 종료하면 실행한 프로세스들이 모두 죽게됩니다.
이유는 위에서 실행한 프로세스는 telnet 서버 프로세스의 하위 프로세스이기 때문입니다.
telnet 세션이 종료되어도 프로세스는 계속 실행되도록(hang-up) 하는 두가지 방법을 소개하겠

습니다.

첫번째 방법은 nohup을 이용하는 방법입니다.
nohup command &
위에서 백그라운드로 실행하는 이유는 telnet 클라이언트에서 
다음 명령프롬프트를 보기 위해서입니다.

두번째 방법은 shopt 명령으로 시스템 환경 변수를 변경하는 방법입니다.
1)
shopt 명령어를 실행하면 환경 변수 리스트가 출력됩니다.
# shopt
cdable_vars     off
cdspell         off
checkhash       off
checkwinsize    on
cmdhist         on
dotglob         off
execfail        off
expand_aliases  on
extdebug        off
extglob         off
.
.
.

2)
이 중 huponexit(hang up on exit)가 on으로 설정되면 
백그라운드 프로세스들은 터미널에서 나갈때도 유지됩니다.

3)
# shopt -s huponexit
위와 같은 명령을 입력해서 해당 설정을 SET시킬 수 있습니다. 
참고로 최근 시스템은 대부분 default가 huponexit입니다.

4)
주의하셔야 할 것은 이런 프로세스들이
쓸데없이 자원을 잡아먹는 경우가 있으므로 나중에 서버에 접속해 
해당 프로세스를 kill하셔야 합니다.

5)
다음과 같이 UNSET시킬 수도 있습니다.
#  shopt -u huponexit

관련글 더보기

댓글 영역