了解服务-状态全部输出


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.