반응형

     정보

    • 업무명    : 리눅스 장기간 응용 프로그램 구동을 위한 백그라운드 수행 방법 : nohup

    • 작성자    : 이상호

    • 작성일    : 2021-01-18

    • 설   명    :

    • 수정이력 :

     

     내용

    [개요]

    • 안녕하세요? 기상 연구 및 웹 개발을 담당하고 있는 해솔입니다.

    • 오늘 포스팅에서는 장기간 응용 프로그램 구동을 위한 백그라운드 수행 방법 : nohup을 소개합니다.

     

     

    [특징]

    • 리눅스에서 장기간 응용 프로그램 구동을 위해서 쉘 스크립트 기술이 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어

     

    [기능]

    • screen 설치/확인/실행/재확인/종료

     

    [활용 자료]

    • 없음

     

    [자료 처리 방안 및 활용 분석 기법]

    • 없음

     

    [사용법]

    • 소스 코드 참조

     

    [사용 OS]

    • Linux (CentOS v7.3)

    • VMware Workstation Pro v15.5

     

    [사용 언어]

    • ShellScript (bash)

     

     세부 설명

    • nohup 명령어는 여러 개의 가상 터미널을 시작하여 화면 관리해주는 소프트웨어로서 다음과 같은 장점이 있습니다.

    • nohup은 하나의 단말기에 여러 개의 단말기를 가상으로 시작할 수 있는 응용 프로그램입니다.

    • 단일 터미널에서 여러 창을 만들 수 있기 때문에 screen이라고합니다. 

    • 또한 사용자가 로그 아웃해도 닫혀 있지 않으면 가상 터미널 (창)은 유지되어 사라지지 않는 것입니다.

    • 즉 다음에 로그인 할 때도 앞의 가상 터미널 (창)에 접근할 수 있습니다.

    • 이는 퓨터 종료 없이 장기간 응용 프로그램을 구동할 때 사용합니다.

    • 응용 프로그램을 실행 > 응용 프로그램을 백그라운드에서 작동 > 사용자 로그 아웃 > 다시 로그인 > 응용 프로그램의 상태를 확인

     

    [bg와 fg 명령]

    • 쉘 (bash)의 표준 명령에 fg와 bg 같은 명령이 있습니다.

    • bg 응용 프로그램을 백그라운드에서 실행시키기위한 명령입니다.

    • fg는 백그라운드에서 실행되는 응용 프로그램을 조작 할 수있게하는 명령입니다.

    • 이 경우 screen은 필요 없다고 생각할 수 있으나 이 명령어는 큰 문제가 있습니다.

    • bg와 fg는 사용자 측면에서 확인할 수 없기 때문에 응용 프로그램이 작동하지 않는다고 판단할 수 있습니다.

    • 그래서 백그라운드에서 응용 프로그램을 동작시키고 싶은 경우는 screen을 사용하는 것이 일반적입니다.

     

    [실행]

    • nohup 수행 프로그램 & 명령어를 통해 백그라운드 수행

    • 그 결과로서 nohup.out 로그 생성

    $ nohup bash RunShell.sh &

     

     

    [확인]

    • ps -a 명령어를 통해 PID 번호 (각 파일마다 고유 번호) 및 수행 명령어

    $ ps -a

     

     

    [종료]

    • kill 명령어를 통해 종료

    # 종료 (1)
    $ kill 28655

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기