서비스로 시작하려는 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했습니다.
이런 일을 경험한 사람이 있나요?
답변해 주셔서 감사합니다.