当 upstart 挂起时如何调试?

当 upstart 挂起时如何调试?

最近,我遇到了 upstart 启动的服务方面的问题。目前,avahi-daemon 和 rsyslogd 方面的问题。大多数时候,我在 Ubuntu >= 12.04 上遇到该问题。

有什么问题?如果我停止这样的服务,停止脚本就会挂起(在一台服务器上等了 2 天)。当我终止它时,服务仍处于以下stop/killed, process <pid>未记录的状态(只是stop/killed记录了!)。服务确实已停止。

现在,当我尝试service <service> start再次启动该服务时,启动脚本也会挂起。

我的问题是:我该如何调试这样的问题是吗?启动/停止脚本在某个时候什么都不做,我不知道是什么原因造成的。我甚至在无人值守升级

答案1

启动系统 Upstart 作业的命令是sudo start <service>。从 6.10 版开始,Upstart 取代了 /sbin/init 守护进程,负责在启动/关闭期间启动和停止任务和服务,并在系统运行时对其进行监督。[1]

日志文件可以在 中找到/var/log/upstart/<service>.log。您可以从默认设置增加日志优先级信息调试获取更多详细信息。[2]

您的问题是由于错误使用 expect fork 节创建状态为 的作业而引起的job stop/killled, process nnn[3]

相关内容