크론 및 Python 문제

크론 및 Python 문제

cron과 Python을 사용하는 데 문제가 있습니다.

실시간으로 얼굴을 인식하는 코드가 있는데 프로그램을 종료하여 찾은 이름으로 매일 새 파일을 작성해야 합니다.

쓰고 있어요'크론탭 -e' 콘솔과 컨트롤러 내부에 다음과 같이 썼습니다.

52 17 * * * /usr/bin/python /home/{usr}/{Folder name}/main.py

프로그램이 닫혔다가 다시 열릴 것으로 예상했지만 아무 일도 일어나지 않았습니다. 뭐가 문제 야?

답변1

프로그램은 cron대화형 셸이나 데스크톱 로그인 세션과 다른 환경에서 실행됩니다.

이에 대한 "표준" 솔루션은 프로그램에 필요한 환경을 설정하는 래퍼 스크립트를 작성하는 것입니다.가상 환경또는 환경 변수를 설정하고 cron에서 래퍼 스크립트를 실행하면 됩니다.

어쨌든 이는 스크립트를 실행하는 데 유용합니다.

이를 종료하거나 일부 조건(예: 빈 대기열 또는 처리할 입력 데이터 부족, 시간, SIGHUP, SIGSTOP, SIGUSR1 등과 같은 특정 신호 수신, 세마포 파일 여부 등)에 따라 특정 작업을 수행하도록 만드는 경우 .), 감지하고 조치를 취하는 것은 Python 프로그램에 달려 있습니다.

pkill또는 다른 크론 작업으로 이를 종료하거나 PID 파일을 사용하거나 실행하는 등 새 인스턴스를 시작하기 전에 이를 시작하는 크론 작업이 기존 인스턴스(또는 그 중 일부)를 종료하도록 할 수 있습니다 .

답변2

환경에 문제가 있는 것 같습니다. 쉘 환경 변수에서 cron 환경을 설정할 수 있습니다.

# Make sure to have python file first line is #!/usr/bin/env python
# Setting cron env like below and setted here the SHELL
SHELL=/bin/bash
52 17 * * * /home/{usr}/{Folder name}/main.py

관련 정보