【发布时间】:2011-04-23 10:14:33
【问题描述】:
我正在尝试在 Ubuntu Server 10.10 机器上启动脚本。
我的 rc.local 的相关部分如下所示:
/usr/local/bin/python3.2 "/root/Advantage/main.py" >> /startuplogfile
exit 0
如果我从 /etc 运行 ./rc.local 一切正常,它会将以下内容写入 /startuplogfile:
usage: main.py [--loop][--dry]
出于测试目的,这正是需要发生的事情。当我重新启动计算机时,它不会向 startuplogfile 写入任何内容。我冒昧地猜测在启动时运行 rc.local 时脚本没有启动。
我验证了 rc.local 以文件中的“touch /rclocaltest”开始。正如预期的那样,目录已创建。
我已经使用另一个 python 脚本测试了 rc.local,该脚本简单地在 / 中创建一个文件并打印到 /startuplogfile。从终端和重启后,它工作得很好。
我的执行位是这样设置的:
-rwxrwxrwx 1 root root 4598 2011-04-22 19:09 main.py
我完全不知道为什么会发生这种情况,我尝试了所有我能想到的解决问题的方法。关于可能导致此问题的任何想法,我完全没有想法。
编辑:我忘了提到我只通过 ssh 登录到这台机器。我不确定这会有所不同,因为据我所知,rc.local 是在登录之前执行的。
编辑:我注意到这篇文章有点混乱,所以让我总结一下:
- 我验证了启动时调用了 rc.local
- 如果手动调用 rc.local 一切正常
- 权限设置正确
- 测试 python 脚本按预期工作 使用 rc.local 启动
- 我的实际 python 脚本只会运行 如果 rc.local 是手动调用的,则不是 开机时
【问题讨论】: