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 palavrastatusprecedida por um caractere não pertencente à palavra queserviceestava 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 .