Que signifie un point d'interrogation lors de la liste de tous les services?

9

Après avoir exécuté la commande, service --status-allj'obtiens une liste de tous les services sur ma machine. J'obtiens une sortie comme celle-ci.

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

Qu'est-ce que cela ?signifie? J'ai toujours supposé que +le processus est démarré et que -le processus est arrêté. Dans quel état un service est-il précédé de ?in?

Voici le contenu de mon /proc/versiondossier au cas où il aiderait n'importe qui à me répondre.

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

Merci d'avance!

Grenville
la source

Réponses:

7

Le point d'interrogation dans la sortie de service --status-allest imprimé lorsque le /usr/sbin/servicescript ne trouve pas de ligne d'état dans la structure de cas du script associé sous /etc/init.d.

Si vous regardez le /usr/sbin/servicescript, vous pouvez trouver une instruction if comme celle-ci:

if ! grep -qs "\Wstatus)" "$SERVICE"; then
    #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
    echo " [ ? ]  $SERVICE" 1>&2
    continue
else
Khaled
la source
1
... et puisque cette expression régulière n'est pas correcte, elle affichera également faussement un ?si la status)ligne n'a pas de caractère non "[: alnum:]" devant elle.
faker