继这个问题之后,我为我的无头Ubuntu Server 11.04盒子编写了一个简单的upstart服务(/etc/init/pms.conf)如下所示:
我可以通过命令行随意启动(或停止)此服务:
我的问题是为什么会发生这种情况?为什么我的服务在启动时没有启动? 更新1:我不确定我的服务是否被启动然后停止,或者根本没有启动,所以我在PMS.sh中添加了以下内容:
这显然只是给我找了个“东西”看。我通过自己启动服务,然后检查start.log进行了测试。然后我删除了start.log并重新启动。重新启动后它不在那里,所以看起来upstart肯定没有启动我的服务。我想它可能在进程的早期阶段就停止了,但鉴于整个过程的简单性,这似乎相当不太可能。
更新2:我刚刚升级到11.10版,其中包括一个upstart升级,但这个问题仍然存在。
更新3:根据要求,我使用--debug引导。cat /var/log/syslog | grep init的输出太长无法放在问题中,但您可以在这里查看它here。
更新4:更多日志,这次包括upstart conf在顶部。Run 1和run 2。
start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn
exec /home/administrator/pms-current/PMS.sh
我可以通过命令行随意启动(或停止)此服务:
service pms start
而且我可以看到它确实在运行。
然而,当我首次启动我的机器时,服务不会启动。如果我通过SSH登录到该服务器并检查服务状态,我会得到以下结果:
$ service pms status
pms stop/waiting
我的问题是为什么会发生这种情况?为什么我的服务在启动时没有启动? 更新1:我不确定我的服务是否被启动然后停止,或者根本没有启动,所以我在PMS.sh中添加了以下内容:
echo "STARTED" > $STARTLOG
这显然只是给我找了个“东西”看。我通过自己启动服务,然后检查start.log进行了测试。然后我删除了start.log并重新启动。重新启动后它不在那里,所以看起来upstart肯定没有启动我的服务。我想它可能在进程的早期阶段就停止了,但鉴于整个过程的简单性,这似乎相当不太可能。
更新2:我刚刚升级到11.10版,其中包括一个upstart升级,但这个问题仍然存在。
更新3:根据要求,我使用--debug引导。cat /var/log/syslog | grep init的输出太长无法放在问题中,但您可以在这里查看它here。
更新4:更多日志,这次包括upstart conf在顶部。Run 1和run 2。
cat /var/log/syslog | grep init
的输出添加进去。 - Ciaran Liedemanstart on mounted FILESYSTEM=/home
或者其他正确的语法形式。 - Kent Boogaartinitctl reload-configuration
在less /var/log/messages
的最后几行没有起作用。 - Jose Alban