728x90
리눅스 환경에서, 서비스등록 없이 파이썬 스크립트를 백그라운드에서 실행하는 방법이 있습니다.
서비스 등록보다는 간단하지만, 서버가 재부팅되면 수동으로 백그라운드에서 실행하도록 명령어를 쳐야합니다.
서버가 재부팅되어도 알아서 재시작하는 것을 원한다면 "서비스등록"을 하시면 됩니다.
서비스등록을 원하시면 이전 게시물을 참고해주세요.
[Linux] 리눅스(Linux) Service 등록 |
nohup을 통한 백그라운드(데몬)실행
nohup python 파일명 &
nohup python main.py &
## 가상환경을 사용했을경우, 가상환경의 python경로를 입력하시면 됩니다.
nohup /home/user/my_test/env/bin/python main.py &
## (참고) 가상환경의 python경로를 모른다면, 가상환경 실행 후 (active)
# which python
nohup 실행 후
nohup.out에 아웃풋을 출력한다는 문구가 뜨는데, 현재 명령어 실행한 파일을 확인해보시면
nohup.out 로그 파일이 있습니다.
해당파일에서 실시간 로그를 확인할 수 있습니다.
tail -f nohup.out
nohup 로그파일 지정
특정 로그파일을 지정해서 출력하는 방법
## ">" : 파일의 처음부터 로그를 다시 기록
## ">>" : 기존내용 추가하여 로그 기록
nohup python main.py > my_test_log.log &
nohup kill(중지)
백그라운드에서 실행중인 파일을 중지하려면, 직접 수동으로 kill해야합니다.
## 실행중인 python pid조회
ps -ef | grep python
## pid확인 후 root권한 필요
sudo kill -9 pid입력
728x90
'개발 > Python' 카테고리의 다른 글
[Django] 프로젝트,app 생성 (1) (0) | 2024.03.20 |
---|---|
[Python] 고프로(Gopro) 연결하기 (+웹캠(스트리밍)) (0) | 2023.07.25 |
[오라클/파이썬] DPI-1047오류 해결방법(oracledb) (0) | 2022.10.12 |
[Python] pip install 오류('cp949' codec can't decode byte 0xe2 in position 1091: illegal multibyte sequence) (0) | 2022.04.04 |
[Linux/Ubuntu] Ubuntu 20.04에 python3.7 설치 (0) | 2021.01.27 |