Назад | Перейти на главную страницу

Программа Python не запускается rc.d во FreeBSD 7.1

У меня есть программа на Python, которую я написал, и я хотел бы запустить ее при запуске в FreeBSD 7.1.

Для моей текущей установки сценарий находится в /home/devuser/project/trunk/src/proj. В начале моего main в proj Я добавил (для тестирования)

os.system("echo 'proj STARTED' >> /tmp/projlog")

В /usr/local/etc/rc.d/ у меня есть proj, который содержит:

#!/bin/sh
# PROVIDE: proj
# REQUIRE: DAEMON LOGIN
# KEYWORD: shutdown
. "/etc/rc.subr"

$location="/home/devuser/project/trunk/src"

name="proj"
rcvar=`set_rcvar`
command="$location/$name"
command_args="$1"
command_interpreter="python"

load_rc_config $name
echo "trying to run proj" >> /tmp/rclog
run_rc_command "$1"

В моем rc.conf:

rc_debug="YES"
proj_enable="YES"

Если я сбегу /usr/local/etc/rc.d/proj <start|stop|status> так как root все работает как положено - proj бежит, trying to run proj появляется в /tmp/rclog, и proj STARTED появляется в /tmp/projlog.

При запуске системы я получаю trying to run proj в /tmp/rclog, но ничего в /tmp/projlog - python не запускается.

Почему сценарий rc запущен, но не запускает Python и не дает мне никаких отзывов?

я догадываюсь / USR / местные / бен (или везде, где двоичный файл python находится во FreeBSD) не существует в $PATH при запуске скриптов инициализации.

Попробуйте изменить command_interpreter="python" к command_interpreter="/usr/local/bin/python".

Кроме того, ваш файл содержит Shebang (с правильным путем) и исполняемый файл?

Маловероятно, что python находится на пути при загрузке.

Попробуйте указать полный путь в переменной command_interpreter.