Estou enfrentando um problema com um arquivo python que gostaria de iniciar como um serviço. Eu nomeei meu serviço ocrserver e o script que eu quero começar está em /home/administrator/ocr/ocrserver/init.py com alguns parâmetros adicionados como --address --port etc ... Depois de ler a documentação do site do FreeBSD
Eu escrevi o seguinte script:
#!/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"
Em seguida, adicionei uma linha configurando o rcvar correspondente para YES no arquivo /etc/rc.conf. e eu lancei:
serviço sudo ocrserver start onde recebo a mensagem "Starting ocrserver". e depois de entrar em um status ocrserver do serviço sudo, eu posso ver que o serviço não está rodando. Eu também executei um comando pgrep -l python3.3 para ver se algum processo python3 estava em execução, mas nenhum resultado
Preciso que eu fiz um chmod 755 no arquivo para torná-lo legível e executável por todos os usuários.
Alguém tem alguma experiência com esse tipo de coisa?
Obrigado pelas suas respostas.