출처 : https://linuxhint.com/how_to_use_nohup_linux/
본 문서는 해당 문서를 번역한 것입니다. 모든 저작권은 해당 문서에 있습니다.
중요한 프로세스가 시스템에서 실행 중이고 시간이 오래 걸린다고 상상해 보십시오. 갑자기 시스템에서 로그아웃해야 합니다. 로그아웃하면 프로세스가 중지되고 이를 피하고 싶을 것입니다. 실행 중인 프로세스를 중단 없이 계속하려면 nohup 명령이 필요합니다.
Nohup(no hangup의 약자)은 HUP 신호를 무시하는 명령입니다. HUP 신호가 무엇인지 궁금할 수 있습니다. 기본적으로 연결된 셸이 종료될 때 프로세스에 전달되는 신호입니다. 일반적으로 로그아웃하면 실행 중인 모든 프로그램과 프로세스가 중단되거나 중지됩니다. 현재 셸에서 로그아웃하거나 연결이 끊긴 후에도 프로세스를 계속 실행하려면 nohup 명령을 사용할 수 있습니다. 로그아웃 후에도 프로그램이 실행되도록 프로세스가 HUP 신호에 면역이 되도록 합니다. nohup을 사용하면 더 이상 프로세스가 완료되기를 기다리기 위해 오랫동안 로그인할 필요가 없습니다.
본문에서는 Linux의 다양한 시나리오에서 Nohup 명령을 사용하는 방법을 설명합니다.
# Contents
- Start Process using Nohup
- Terminate Process
# Start Process using Nohup
셸을 종료하더라도 명령이나 프로세스를 계속 실행하려면 nohup 다음에 실행할 명령을 사용하세요.
nohup command
위의 명령을 실행하면 오류 메시지와 함께 모든 출력이 홈 디렉토리 또는 현재 디렉토리의 nohup.out 파일에 추가됩니다. 이제 셸을 닫거나 로그아웃해도 위에서 실행한 명령은 종료되지 않습니다.
프로세스를 시작하고 백그라운드에 두려면 다음과 같이 nohup을 사용해야 합니다.
nohup command &
& 기호는 백그라운드에서 명령을 실행하려면 쉘을 알려줍니다. 세션이 종료되면 즉시 쉘 프롬프트로 돌아간다는 점을 제외하고는 위의 nohup 명령과 유사합니다. 다시 맨 앞으로 가져오려면 "fg" 명령을 사용합니다.
실행하는 모든 명령의 출력은 nohup.out 파일에 추가됩니다. 터미널에서 cat nohup 명령을 사용하여 이 파일을 볼 수 있습니다. 위 스크린샷 의 숫자 80132 는 백그라운드에서 실행 중인 프로세스의 프로세스 식별 번호(PID)를 나타냅니다.
# Terminate Process
백그라운드에서 실행 중인 프로세스를 종료하려면 다음과 같이 kill 명령을 사용합니다.
kill -9 PID
"&"와 함께 nohup을 사용할 때 프로세스의 PID를 찾을 수 있습니다.
'운영체제 > 리눅스' 카테고리의 다른 글
[Linux] 일정 기간이 지난 파일 삭제 스크립트 및 크론탭 (0) | 2021.10.05 |
---|---|
[Linux] 파일 검색, 파일 안의 문자열 검색 (0) | 2021.09.29 |
[Linux] SSH 자동 로그아웃 설정 및 해제 (0) | 2021.09.29 |