服务--status-all中的“?”是什么意思

服务--status-all中的“?”是什么意思

通过此命令 service --status-all 。我可以找到所有服务状态。每一行都有 + 或 - 或 ?。很容易猜出 + 和 - 哪个或许请参阅正在运行的服务,而不是正在运行(我不知道)但不知道服务前这个“?”符号的含义。

答案1

问号表示service无法确定正在运行的服务的状态,因为它在相关脚本中找不到状态行/etc/init.d

服务命令有如下片段:

if ! grep -qs "\Wstatus)" "$SERVICE"; then
    #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
    echo " [ ? ]  $SERVICE" 1>&2
    continue

这表明它将标记服务的状态,就好像它在相关服务的文件中找到在任何非单词字符后面[?]有单词的行一样。status/etc/init.d

例如,对于这个具体的例子,我有以下情况需要考虑

  • 对于[+] acpid,如果我浏览文件,/etc/init.d/acpid我会得到以下行:

    status)
    status_of_proc "$ACPID" acpid
    

我认为这就是所service要寻找的。

  • 对于,我找不到要查找的以非单词字符开头的[?] apport单词行。因此,当您执行 时,它会在服务名称前面添加。statusservice[?]sudo service --status-all

也可以看看:Serverfault 上一个完全相同的问题

相关内容