재부팅 시 감독자 데몬이 시작되지 않는 이유는 무엇입니까?

재부팅 시 감독자 데몬이 시작되지 않는 이유는 무엇입니까?

crontab -e현재 사용자에 대한 crontab 항목을 추가했습니다.

@reboot supervisord -c /etc/supervisord.conf

그러나 다시 시작한 후에는 Supervisordemon이 실행되지 않습니다. Bash에서 명령을 다시 실행해야 합니다. cronjob을 설정한 후 두 번째 시도에서만 예상했던 오류가 발생했습니다.

$ supervisord -c /etc/supervisord.conf
$ supervisord -c /etc/supervisord.conf
Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.

내 cronjob이 작동하지 않는 이유는 무엇이며 시작 시 감독자 데몬을 어떻게 시작할 수 있습니까?

답변1

cron기본적으로 다음의 최소 환경에서 실행됩니다 man 5 cron.

Several environment variables are set up automatically by  the  cron(8)
daemon.  SHELL is set to /bin/sh, and LOGNAME and HOME are set from the
/etc/passwd  line  of   the   crontab's   owner.   PATH   is   set   to
"/usr/bin:/bin".   HOME,  SHELL, and PATH may be overridden by settings
in the crontab;

실행 파일 supervisord이 없거나 찾을 수 없거나 /usr/bin실행할 수 없습니다./bincron

가장 좋은 방법이자 가장 안전한 접근 방식은 실행 파일이 cron의 기본 경로에 있는지 확실하지 않은 경우 cron 항목에서 실행 파일의 전체 경로를 항상 사용하는 것입니다.

또는 PATH다음을 편집하여 cron을 전역적으로 변경할 수 있습니다 /etc/crontab.

$ cat /etc/crontab 
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

관련 정보