리눅스에서 프로세스를 백그라운드에서 실행하고 싶을 때 nohup이라는 유용한 명령어를 사용할 수 있습니다. 이 블로그 글에서는 nohup 사용법을 단계별로 살펴보고 예시를 통해 설명합니다.
1. nohup이란?
nohup은 "no hangup"의 약자로, 터미널 접속이 끊어져도 프로세스를 계속 실행하도록 도와주는 리눅스 명령어입니다. 이 명령어를 사용하면 터미널을 닫거나 로그아웃해도 프로세스가 종료되지 않고 실행됩니다.
2. nohup 사용법
기본적인 nohup 사용법은 다음과 같습니다.
nohup [command] &
[command]: 실행하려는 명령어를 입력합니다.
&: 백그라운드에서 실행하도록 합니다.
3. nohup 예시
다음은 간단한 nohup 예시입니다.
nohup python my_script.py &
이 명령어를 실행하면, my_script.py 파일이 백그라운드에서 실행되며 터미널 접속이 끊겨도 프로세스가 계속 실행됩니다.
4. nohup 출력
기본적으로 nohup은 실행 중인 프로세스의 표준 출력 및 표준 오류 출력을 nohup.out 파일에 저장합니다. 파일명을 변경하려면 다음과 같이 명령어를 입력하세요.
nohup [command] > [output_file] 2>&1 &
[output_file]: 출력 내용을 저장할 파일명입니다.
2>&1: 표준 오류 출력을 표준 출력과 같은 파일에 저장합니다.
예시:
nohup python my_script.py > my_log.log 2>&1 &
5. nohup 프로세스 확인 및 종료
nohup으로 실행한 프로세스를 확인하려면 다음 명령어를 사용하세요.
ps -ef | grep [command]
[command]: 실행한 명령어를 입력합니다.
프로세스를 종료하려면 kill 명령어와 함께 프로세스 ID를 사용하세요.
kill [process_id]
[process_id]: 종료하려는 프로세스의 ID를 입력합니다.
6. nohup 작업 확인하기
nohup으로 실행된 작업의 상태를 확인하려면 'jobs' 명령어를 사용하세요.
jobs
이 명령어는 백그라운드 작업의 목록과 상태를 보여줍니다.
7. nohup 작업을 포그라운드로 가져오기
백그라운드에서 실행 중인 nohup 작업을 포그라운드로 가져오려면 'fg' 명령어와 함께 작업 번호를 사용하세요.
fg %[job_number]
[job_number]: 포그라운드로 가져오려는 작업의 번호를 입력합니다.
8. disown 명령어 활용하기
백그라운드 작업을 실행한 뒤 'disown' 명령어를 사용하면, 해당 작업이 터미널에서 분리되어 터미널이 종료되어도 계속 실행됩니다.
[command] &
disown %[job_number]
[command]: 실행하려는 명령어를 입력합니다.
[job_number]: 분리하려는 작업의 번호를 입력합니다.
이렇게 하면 nohup과 유사한 효과를 얻을 수 있습니다.
이상으로 이해하기 쉬운 nohup 사용법을 상세하게 안내해 드렸습니다. 이 글을 참고하여 여러분의 리눅스 작업에서 nohup을 효과적으로 활용해 보시기 바랍니다. 다양한 상황에서 더 효율적인 작업을 위해 nohup과 같은 리눅스 명령어들을 잘 활용해 보세요!
'개발 > Tip' 카테고리의 다른 글
IntelliJ에서 HTTP 파일 사용법 (0) | 2023.04.11 |
---|---|
Windows에서 특정 포트 종료하는 방법 (0) | 2023.03.31 |