了解服务-状态全部输出


14

我正在尝试了解service --status-allUbuntu 13.10上命令的输出,因为手册页没有解释它。例如:

[ + ]  rsyslog
[ - ]  sendmail
[ ? ]  sendsigs
[ + ]  setvtrgb
[ - ]  ssh

什么+,-,?是什么意思?我不知道。我之前安装过sendmail,但是我停止了并用删除了它apt-get remove sendmail*。我想这没有摆脱init脚本/etc/init.d/的原因,这就是为什么它会在输出中显示它,但至少是a -,所以我认为它没有运行。然后,SSH。我实际上是通过SSH进入服务器的,所以我认为SSH服务应该正在运行,但是-无论如何它都在那里。然后是神秘主义者?。请有人说明这实际上意味着什么。

Answers:


15

如果service --status-all命令/etc/init.d支持该status命令,则该命令将尝试找出每个初始化脚本(通过为脚本添加grep status)。

如果找不到该字符串,它将[ ? ]为该服务打印。

否则它将运行/etc/init.d/$application status。
如果返回码为0,则打印[ + ]。
如果不是0,则打印[ - ]。

为什么即使ssh打印[ - ]仍在运行,也可以打印?
ssh由Ubuntu(13.10)中的新贵控制。
运行/etc/init.d/ssh status将不产生任何输出,返回码为1。


哦,暴发户。感谢您的详细答复,service --status-all现在对我来说更清楚了。因此,要获得完整的图像,我还应该initctl list将结果与“或”结果一起使用?有没有更完整,更全面的方法?
— p4sh4 2014年

是的也可以使用,也initctl list可以只是一般的使用ps ...,至少直到systemd被使用为止……
— 造假者

感谢您指出systemd,现在我期待14.10 ...
— p4sh4

据我所知14.10还没有使用systemd,但我不是Ubuntu的人。我可能是错的。
— 骗子

14.10尚未发布,他们计划提供它作为替代产品,upstart但两者显然都将在不久的将来起作用
— p4sh4 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.