Co oznacza znak zapytania przy wymienianiu wszystkich usług?

9

Po wykonaniu polecenia service --status-allotrzymuję listę wszystkich usług na moim komputerze. Otrzymuję taki wynik.

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

Co ?znaczy Zawsze zakładałem, +że proces został rozpoczęty i -że proces został zatrzymany. W jakim stanie jest usługa poprzedzona przez ??

Oto zawartość mojego /proc/versionpliku, ponieważ pomaga każdemu mi odpowiedzieć.

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

Z góry dziękuję!

Grenville
źródło

Odpowiedzi:

7

Znak zapytania na wyjściu service --status-alljest drukowany, gdy /usr/sbin/serviceskrypt nie znajduje wiersza stanu w strukturze sprawy w powiązanym skrypcie pod /etc/init.d.

Jeśli spojrzysz na /usr/sbin/serviceskrypt, możesz znaleźć instrukcję if podobną do tej:

if ! grep -qs "\Wstatus)" "$SERVICE"; then
    #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
    echo " [ ? ]  $SERVICE" 1>&2
    continue
else
Khaled
źródło
1
... a ponieważ to wyrażenie regularne jest niepoprawne, wypisze również fałszywie a, ?jeśli status)wiersz nie ma przed nim znaku innego niż „[: alnum:]”.
faker