Upstart 未执行 upstart.conf 中的 exec 函数

Upstart 未执行 upstart.conf 中的 exec 函数

我在这里加载了一个完整的 upstart conf 文件:http://pastebin.com/5E7J5jEY但是我遇到了麻烦,因为 upstart 无法执行 exec 函数和/或将内核控制台 CLI 交还给我。

执行后,: sudo start itc_d我没有得到任何结果(没有启动状态,甚至没有可用的光标)。如果我ctrl+c再次使用并运行该命令,我会得到:start: Job is already running: itc_d

有人能帮我理解我做错了什么吗?也许我的 upstart 配置有问题,或者我的 python 的 createDaemon() 函数没有按预期分叉?我该如何修复/排除此问题?

供参考- upstart 尝试执行的文件是一个 Python 脚本,它在第一个函数中将自身守护进程化(进程分叉两次)。如果您想查看 Python 脚本,请点击此处:http://pastebin.com/xLHEhg14(createDaemon()函数是这里讨论的函数)

答案1

尝试expect daemon从你的 upstart conf 文件中删除该行。

我知道这是应该根据文档,但根据我最近使用 python 守护进程的经验(我目前正在使用这个), 这叉数不是从 python 增加的,所以它将会挂起。

答案2

就像是:

exec start-stop-daemon -S -c $uid:$gid -k $umask -x /usr/local/bin/python-daemon -- --app-options

expect,只需设置变量env、启动和停止级别,然后执行此操作。

相关内容