Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- OS
- mysql
- postman
- MongoDB
- algorithm
- Crawling
- Util
- DATABASE
- css
- OOAD
- Express
- HTML
- sequelize
- node.js
- linux
- ubuntu
- Scheduling
- AWS
- wireshark
- Kotlin
- mongoose
- React
- S3
- TypeScript
- typeorm
- python
- Network
- macos
- Android
- docker
Archives
- Today
- Total
Seongwon Lim
[Python] nohup을 이용한 파이썬 모듈 백그라운드 실행 본문
반응형
서론
이번 글에서는 파이썬 코드를 백그라운드에서 실행하는 방법을 알아보고자 한다.
Nohup 이란?
주로 리눅스(linux) 운영체제 계열에서 본인이 실행한 파이썬 모듈의 프로세스가 죽지 않고
백그라운드상에서 계속해서 돌아가게끔 구현하고자 할 때 많이 사용하며,
의미는 'No Hangup' 의 줄임말로 '무언가를 끊지 말라는 뜻'이다.
해당 글에서의 무언가는 파이썬 모듈이 돌아가고 있는 프로세스를 의미한다.
사용 방법
nano start.sh # 또는 vi start.sh
nohup 명령어를 실행하기 위한 쉘스크립트 파일을 열고, 아래와 같이 명령어를 입력한다.
nohup python3 [파이썬 파일 경로] &
예를 들어, 본인의 파이썬 파일 main.py 가 /home/user 아래에 존재한다면
- nohup python3 /home/user/main.py & 와 같이 작성 후 파일을 저장하고 나온다.
- 마지막 & 표시는 백그라운드 모드로 코드를 실행한다는 의미이다.
다음으로는, nohup 명령어를 사용하기 위해 쉘스크립트 파일의 권한을 변경한다.
chmod 755 start.sh
위 절차를 통해 파이썬 코드를 백그라운드에서 실행하기 위한 준비가 완료되었다.
start.sh를 실행하고나면, 같은 경로에 nohup.out 파일이 생성된다.
- cat nohup.out 또는 tail -f nohup.out 등의 명령어를 통해 로그를 확인할 수 있다.
실행중인 프로세스 종료하기
쉘스크립트를 통해 실행한 프로세스를 종료하고 싶은 경우에는 아래 절차를 통해 프로세스를 종료할 수 있다.
- ps -ef | grep main.py 명령어를 입력하여 실행중인 main.py의 PID를 알아낸다.
- 예를 들어, PID가 12345인 경우 kill -9 12345 명령어를 입력하여 해당 프로세스를 종료한다.
$ ps -ef | grep main.py # PID = 12345
$ kill -9 12345
'Python' 카테고리의 다른 글
[Python] 파이썬으로 도커 컨테이너(Docker Container) 관리하기 (0) | 2024.02.20 |
---|---|
[Python] MacOS pyspark 설치 방법 (0) | 2023.09.19 |
[Python] 문자열 파싱 라이브러리 - Pygrok 설치 및 사용 방법 (0) | 2023.04.14 |
[Python] Scapy 모듈을 이용한 패킷 스니핑 구현하기 (2) | 2023.03.02 |
[Python] 약수 개수 구하기 (시간복잡도 고려하기) (0) | 2022.11.19 |
Comments