FreeBSD 7.1 中的 Python 程序无法由 rc.d 启动

FreeBSD 7.1 中的 Python 程序无法由 rc.d 启动

我有一个自己编写的 python 程序,希望在 FreeBSD 7.1 启动时运行。

对于我当前的安装,脚本位于 。在/home/devuser/project/trunk/src/proj我的开头我添加了(用于测试)mainproj

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,并且没有给我任何反馈?

答案1

我正在猜测在/usr/本地/bin$PATH(或者 FreeBSD 中 Python 二进制文件所在的任何位置)在运行初始化脚本时不存在。

尝试更改command_interpreter="python"command_interpreter="/usr/local/bin/python"

另外,你的文件是否包含舍邦(具有正确的路径)并且可以执行吗?

答案2

启动时 Python 出现在路径中的可能性极小。

尝试在 command_interpreter 变量中指定完整路径。

相关内容