113 votes

Comment lire les résultats de "service --status-all" ?

J'ai besoin d'identifier les services en cours d'exécution, mais je n'arrive pas à déterminer les résultats de l'exécution de la commande service --status-all Je veux dire, qu'est-ce que ? , - y + Comment ?

$ service --status-all
 [ + ]  acpid
 [ + ]  anacron
 [ + ]  apparmor
 [ ? ]  apport
 [ ? ]  atieventsd
 [ + ]  avahi-daemon
 [ ? ]  binfmt-support
 [ + ]  bluetooth
 [ - ]  brltty
 [ + ]  console-font
 [ + ]  console-setup
 [ + ]  cron
 [ + ]  cups
 [ + ]  cups-browsed
 [ - ]  dbus
 [ ? ]  dns-clean
 [ + ]  friendly-recovery
 [ - ]  grub-common
 [ ? ]  irqbalance
 [ - ]  kerneloops
 [ ? ]  killprocs
 [ + ]  kmod
 [ ? ]  lightdm
 [ - ]  lm-sensors
 [ ? ]  mysql
 [ ? ]  networking
 [ ? ]  ondemand
 [ ? ]  pppd-dns
 [ - ]  procps
 [ - ]  pulseaudio
 [ ? ]  rc.local
 [ + ]  resolvconf
 [ + ]  rfkill-restore
 [ + ]  rfkill-store
 [ - ]  rsync
 [ + ]  rsyslog
 [ + ]  saned
 [ ? ]  sendsigs
 [ + ]  setvtrgb
 [ ? ]  speech-dispatcher
 [ - ]  sudo
 [ + ]  timidity
 [ + ]  udev
 [ ? ]  umountfs
 [ ? ]  umountnfs.sh
 [ ? ]  umountroot
 [ - ]  unattended-upgrades
 [ - ]  urandom
 [ + ]  virtualbox
 [ - ]  x11-common

Et est-ce que lancer cette commande avec sudo ferait une différence ? J'ai essayé et dans mon cas, cela n'a pas fait de différence, mais cela peut-il être différent dans d'autres configurations ?

121voto

Sean Points 1843

La sortie de service --status-all liste l'état des services contrôlés par System V .

El + indique que le service est en cours d'exécution, - indique un service arrêté. Vous pouvez le constater en exécutant service SERVICENAME status pour un + y - service.

Certains services sont gérés par Upstart . Vous pouvez vérifier l'état de toutes les Upstart services avec sudo initctl list . Tout service géré par Upstart apparaîtra également dans la liste fournie par service --status-all mais seront marqués d'un ? .

Référence : man service

32voto

muru Points 180007

Ce n'est pas documenté dans la page de manuel, mais un regard rapide sur la source confirme la première hypothèse :

  • + : le service est en cours d'exécution
  • - le service ne fonctionne pas
  • ? : l'état du service ne peut être déterminé (pour une raison quelconque).

Le code réel :

 if ! is_ignored_file "${SERVICE}" \
 && [ -x "${SERVICEDIR}/${SERVICE}" ]; then
         if ! grep -qs "\(^\|\W\)status)" "$SERVICE"; then
           #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
           echo " [ ? ]  $SERVICE" 1>&2
           continue
         else
           out=$(env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status 2>&1)
           if [ "$?" = "0" -a -n "$out" ]; then
             #printf " %s %-60s %s\n" "[+]" "$SERVICE:" "running"
             echo " [ + ]  $SERVICE"
             continue
           else
             #printf " %s %-60s %s\n" "[-]" "$SERVICE:" "NOT running"
             echo " [ - ]  $SERVICE"
             continue
           fi
         fi
   #env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status
 fi

Les conditions sont les suivantes :

  • si le script d'init ne supporte pas un status la commande, l'état est ? .
  • si le script d'init (avec l'option status argument) le statut de sortie est zéro und n'est pas vide, l'état est + .
  • sinon l'état est - .

1voto

Arronical Points 18815

Je crois que + signifie que le service est actif/en cours d'exécution, - signifie qu'elle est inactive/arrêtée, et ? signifie que le commandement ne peut pas déterminer de façon concluante s'il est actif ou non, car le service n'a pas de status dans le service script. Le site service --status-all La commande exécute réellement service <service-name> status pour chaque service disponible.

1voto

user663581 Points 11

Je trouve que courir avec ou sans sudo fait la différence.

Certains services en /var/run/ ont un accès en lecture seulement à l'utilisateur root. Ces services affichent le statut [-] sans sudo et [+] con sudo .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X