O ponto de interrogação indica que service
não conseguiu determinar o status do serviço em execução, pois não encontrou a linha de status no script relacionado em /etc/init.d
O comando service tem um snippet da seguinte forma:
if ! grep -qs "\Wstatus)" "$SERVICE"; then
#printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
echo " [ ? ] $SERVICE" 1>&2
continue
que indica que marcará o status de um serviço como [?]
se ele não encontrar uma linha que tenha a palavra status
após qualquer caractere não pertencente à palavra no arquivo do serviço relacionado em /etc/init.d
.
Por exemplo, tenho os seguintes casos a considerar para este exemplo específico
-
Para
[+] acpid
, se eu procurar o arquivo/etc/init.d/acpid
, obtenho a seguinte linha:status) status_of_proc "$ACPID" acpid
que eu presumo é o que service
está procurando.
- Para
[?] apport
, não encontro uma linha com a palavrastatus
precedida por um caractere não pertencente à palavra queservice
estava procurando. Assim, ele prefixará um[?]
antes do nome do serviço quando você executar umsudo service --status-all
.
Veja também: Uma pergunta exatamente semelhante sobre Serverfault .