정보
-
업무명 : 리눅스 장기간 응용 프로그램 구동을 위한 백그라운드 수행 방법 : 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
'프로그래밍 언어 > Linux' 카테고리의 다른 글
[Linux] 리눅스 VMware Workstation에서 용량 증설 (0) | 2021.01.19 |
---|---|
[Linux] 온라인 리눅스 (Linux) 환경에서 GUI 기반으로 intel fortran (ifort) 설치 방법 (0) | 2021.01.18 |
[Linux] 리눅스 장기간 응용 프로그램 구동을 위한 백그라운드 수행 방법 : screen (0) | 2021.01.18 |
[Linux] 외장 하드에서 VMware Workstation 기본 환경 설정 (0) | 2021.01.13 |
[Linux] 리눅스 VMware Workstation에서 "Entering emergency mode. Exit the shell to continue." 오류 해결 방법 (0) | 2021.01.06 |
최근댓글