기존에는 linux에서 nohup과 & 명령어를 통해 python 파일을 백그라운드로 실행하였는데, 어느 순간 프로젝트를 업데이트 하다 보니 이 명령어로 백그라운드 실행이 되다가 끊기는 현상이 자주 일어났다.
그래서 대안을 찾던 중 node.js의 pm2 모듈로 백그라운드 실행을 하는 방법을 알게 되었고 적용한 결과 성공적으로 프로젝트가 백그라운드 실행이 되었다.
참고로 Linux/Ubuntu 기준 명령어이고 python 프로그램을 백그라운드 실행을 하기 위한 방법이다.
1) node.js 설치
sudo apt update
sudo apt install nodejs npm
2) pm2 모듈 설치
sudo npm install pm2 -g
3) 프로젝트 백그라운드 실행하기
pm2 start [프로그램명].py --interpreter python3
참고) 기타 pm2 명령어
- 종료
pm2 stop [프로세스ID]
- 상태 확인
pm2 status
- 로그(오류) 확인하기
pm2 logs
- 로그(오류) 초기화 (pm2 logs 결과 초기화)
pm2 flush