O que significa um ponto de interrogação ao listar todos os serviços?

9

Depois de executar o comando service --status-all, recebo uma lista de todos os serviços na minha máquina. Eu recebo uma saída como esta.

[ ? ]  acpi-fakekey
[ ? ]  acpi-support
[ + ]  acpid
[ - ]  anacron
[ + ]  apache2
[ + ]  atd
[ - ]  bootlogd

O que ?significa? Eu sempre assumi um +meio para o processo ser iniciado e um -meio para o processo ser interrompido. Em que estado um serviço é precedido por ?in?

Aqui está o conteúdo do meu /proc/versionarquivo, caso ajude alguém a me responder.

Linux version 2.6.32-5-amd64 (Debian 2.6.32-45)

Desde já, obrigado!

Grenville
fonte

Respostas:

7

O ponto de interrogação na saída de service --status-allé impresso quando o /usr/sbin/servicescript não encontra a linha de status na estrutura do caso no script relacionado em /etc/init.d.

Se você olhar para o /usr/sbin/servicescript, poderá encontrar uma declaração if assim:

if ! grep -qs "\Wstatus)" "$SERVICE"; then
    #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
    echo " [ ? ]  $SERVICE" 1>&2
    continue
else
Khaled
fonte
1
... e como essa expressão regular não está correta, ela também imprimirá a ?se a status)linha não tiver um caractere não - "[: alnum:]" na frente.
faker