보관함
즐겨찾기
좋아요
최근목록
커뮤니티
건강/의학
문화/엔터
영상/사진
쇼핑/생활
경제/금융
IT/과학
스포츠
여행
음식/요리/맛집
유아/아동
교육/학습
어플/프로그램
유튜브
카페
블로그
자료/파일/문서공유
기타
전체보기
전체개요
 
회사명 : 모아요넷
대표자 : 전현미
조회수:53

리눅스에서 파이썬 프로그램 작동시키기

리눅스에서 파이썬 프로그램 작동시키기 리눅스 파이썬 크론탭 프로그램실행
0
파이썬으로 만든 프로그램를 1시간에 한번씩 재실행하는 방법 입니다

리눅스에서 내가 만든 프로그램을 실행하는 방법입니다

 

프로그램 실행시키기

내가 만드 프로그램은 /home/monitor/monitor.py 파일입니다

파이썬3버전으로 업그레이드하면

python3 명령어로 실행 해야 합니다

$ cd /home/monitory

$ python3 ./monitory.py

파일이 있는 경로로 이동하여 실행합니다

이때 백그라운드로 실행하기 위해서는 nohup를 사용합니다

$ nohup python3 monitor.py&

이렇게 입력하면 백그라운드로 실행이되기 때문에 터미널이 닫혀도 프로그램은 작동합니다

 

 

프로그램 중지시키기

프로세서명으로 종료하는 방법입니다

우선 프로세서가 실행 되고 있는지 파악하기위해

$ ps -ef | grep monitor

실행여부를 파악합니다

프로그램이 작동중이라면 monitor.py 프로세서가 있게 됩니다

이때

$ pkill -9 -ef monitor.py

명령어로 해당 프로그램을 중지시킬수 있습니다

 

프로그램이 오작동하여 중지될수도 아님 다른 문제가 발생될수가 있습니다

그래서 1시간에 한번씩 프로그램을 종료하고 다시 실행해주려 합니다

1시간에 한번씩 종료후 재실행하기위해서는 크론탭(crond) 활용하면됩니다

 

크론탭에 스케쥴 추가하기

$ vi /etc/crontab

아래와 같이 추가하면 정상적으로 작동하지 않습니다

 

59 * * * * root pkill -9 -ef monitor.py

0 * * * * root nohup python3 monitor.py&

 

이유는 nohup, python3 절대경로를 지정해 주지 않았기 때문입니다

종료 스크립트도 매시간 59:55초에 종료하고 00:00시에 다시 실행합니다

다시말해 종료후 5초후에 다시 실행해줘야 정상적으로 작동됩니다

그리고 monitor.py 파일을 실행할때 경로도 신경써야 합니다

monitory.py 안에 경로를 지정했을수도 있기 때문입니다

그래서 cd /home/monitor 디렉토리로 이동한 이후에 진행합니다

 

아래처럼 크론탭에 추가하면 정상작동합니다

59 * * * * root sleep 55;pkill -9 -ef monitor.py

0 * * * * root cd /home/monitor;/usr/bin/nohup /usr/bin/python3 monitor.py&

 

리눅스에서 파이썬 프로그램 작동시키기 리눅스 파이썬 크론탭 프로그램실행

 

 

 

추가이후

$ systemctl restart crond

크론탭을 재실행 해주면 설정은 끝이 납니다 

vi /etc/crontab