我正在尝试在Ubuntu中运行一个超级简单的Upstart脚本来运行一个python程序作为一个守护进程,因为我的生活无法弄清楚它为什么会失败。我将它放在名为program.conf的/ etc / init /目录中。
description "Program Startup"
author "Team X"
start on (local-filesystems and net-device-up IFACE=lo)
stop on runlevel [!2345]
chdir /home/punk/dev/workspace/program/ui/
exec /usr/bin/python /home/punk/dev/workspace/program/ui/server.py
respawn
程序在启动时没有启动,我在/var/log/program.log中看到绝对没有日志(它是空的)。我试图让它在lo接口运行时启动(该程序是一个绑定到localhost的Web服务器)运行initctl reload-configuration正常,我可以在运行sudo initctl list时看到该程序:
punk@punk-VirtualBox:/var/log/upstart$ sudo initctl list | grep program
program stop/waiting
每次运行此程序都会按预期启动程序,并将日志输出生成到预期文件:
punk@punk-VirtualBox:/var/log/upstart$ sudo start program
program start/running, process 3161
我在这里犯了任何明显的错误吗?由于日志没有输出,我完全不知道从哪里开始,有什么建议吗?我怀疑“开始”线有问题,但如果我知道它是什么就该死的......
编辑:我在Ubuntu Trusty 14.04上