Je cherche un moyen d'obtenir une liste de tous les services (/etc/init.d ou upstart ou systemd), qui sont censés démarrer (ou avoir été démarrés au démarrage).
Comment obtenir une liste de tous les services de démarrage? - Je connais cette question, et elle suggère d'utiliser service --status-all
.
Mais cela ne me montre pas quels services sont censés fonctionner . Il appelle tous les scripts d'initialisation avec l' status
argument " ". Ceci est une liste de tous les services qui pourraient être exécutés.
Mais je voudrais savoir si un service qui avait été démarré au démarrage est toujours en cours d'exécution.
Exemple…
J'ai installé webfs. Mais je ne veux pas qu'il fonctionne au démarrage. Ainsi je l' ai désactivé: sudo update-rc.d webfs disable
. Et j'ai également installé la samba et elle devrait fonctionner au démarrage. Mais il est arrêté (pour une raison quelconque). sudo service --status-all
ne m'aide pas ici:
$ sudo service --status-all 2>/dev/null | grep -E 'samba$|webfs'
[ - ] samba
[ - ] webfs
Les deux sont éteints mais je n'ai aucune idée que celle-ci (samba) est censée être allumée.
Donc…
Comment puis-je obtenir une liste de tous les services qui démarrent au démarrage? Et, en tant qu'extension, existe-t-il un moyen facile d'obtenir le "statut" de ces services (sinon, je vais simplement parcourir cette liste et exécuter "service $ service status", ou quelque chose comme ça).
Merci, Alexander
Edit 2015-05-04: Je suis sur Ubuntu 14.04.
L'objectif principal de cette question est le suivant:
Mais je voudrais savoir si un service qui avait été démarré au démarrage est toujours en cours d'exécution.
Pour cette raison, initctl list
n'aide pas beaucoup. Il ne prend pas vraiment en compte les services démarrés par les /etc/init.d
scripts (par rapport aux scripts parvenus dans /etc/init
).
Une liste de /etc/rc?.d/S*
n'aide pas non plus. Il générerait une liste de services, qui auraient pu être démarrés dans un niveau d'exécution donné. Cela ne me montre pas si un service, qui aurait dû être démarré, est toujours en cours d'exécution.
Fondamentalement, je recherche quelque chose comme svcs -x
Solaris pour Ubuntu. Avec svcs -x
, j'aurais une sortie si un service, qui a été démarré, ne fonctionne plus. Cela, j'aurais également besoin d'Ubuntu.
Raison: je voudrais avoir une vérification générique (plus ou moins ...) de notre système de surveillance Icinga / Nagios, qui m'alerterait, si un service ne fonctionne plus, qui devrait fonctionner. Comme nous avons de nombreux serveurs différents pour de nombreux clients différents, il n'est pas vraiment évolutif pour définir une liste de services "importants".
initctl list
répertorier les processus démarrés / en cours d'exécution, mais cette liste inclurait également les processus démarrés manuellement
initctl list
. Mais cela ne répond pas vraiment, car cela montrerait également les services démarrés manuellement. Et il ne montre pas les services qui ne fonctionnent pas.