FreeBSD: Python 스크립트를 데몬으로 시작하는 방법은 무엇입니까?

FreeBSD: Python 스크립트를 데몬으로 시작하는 방법은 무엇입니까?

서비스로 시작하려는 Python 파일에 문제가 있습니다. 내 서비스 이름을 ocrserver로 지정했고 시작하려는 스크립트는 /home/administrator/ocr/ocrserver/에 있습니다.내부에.py는 --address --port 등과 같은 일부 매개변수를 추가했습니다. 문서를 읽은 후FreeBSD 웹사이트

나는 다음 스크립트를 작성했습니다.

#!/bin/sh

# $FreeBSD$
#
# PROVIDE: ocrserver 
# REQUIRE: NETWORK
# KEYWORD: shutdown

# add the following line to /etc/rc.conf to enable the ocrserver:
# ocrserver_enable="YES"

. /etc/rc.subr

name="ocrserver"
rcvar="ocrserver_enable"

# default values
: ${ocrserver_enable="NO"}

base_path="/home/administrator/ocr/ocrserver"

address="localhost"
http_port=8080
pyproxy_port=10800

log_level="debug"

pidfile="${base_path}/ocrserver.pid"

command="/usr/sbin/daemon"

# -p : daemon handler pidfile
# -f : redirect stdout and stderr to /dev/null
# -c : change working dir to root
command_args="-p ${pidfile} -f -c /home/administrator/ocr/ocrserver/__init__.py \
--address ${address} --http-port ${http_port} --log-level ${log_level} \
--pyproxy-port ${pyproxy_port}"

procname="/home/administrator/ocr/ocrserver/__init__.py"
command_interpreter="/usr/local/bin/python3.3"

load_rc_config $name
run_rc_command "$1"

그런 다음 해당 rcvar를 YES로 설정하기 위해 /etc/rc.conf 파일에 한 줄을 추가했습니다. 나는 다음과 같이 시작했습니다.

sudo service ocrserver start "ocrserver 시작 중"이라는 메시지가 표시됩니다. sudo service ocrserver status를 입력한 후 서비스가 실행되고 있지 않은 것을 확인할 수 있습니다. 또한 pgrep -l python3.3 명령을 실행하여 python3 프로세스가 실행 중이지만 결과가 없는지 확인했습니다.

정확하게 말하면 모든 사용자가 읽고 실행할 수 있도록 파일을 755로 chmoded했습니다.

이런 일을 경험한 사람이 있나요?

답변해 주셔서 감사합니다.

관련 정보