GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir si j'utilise systemd sous Linux ?

Vérifiez quel processus s'exécute en tant que PID 1. Vous pouvez le faire en exécutant ps 1 et défilement vers le haut. Si vous avez quelque chose de systemd en cours d'exécution en tant que PID 1, vous avez systemd en cours d'exécution.

Sinon, exécutez systemctl pour lister les unités systemd en cours d'exécution.

Vous pouvez également vérifier ce qu'est /sbin/init; file /sbin/init vous dira s'il s'agit d'un véritable exécutable ou s'il s'agit d'un lien symbolique vers l'exécutable d'un autre package. Sur une box systemd, par exemple :

[email protected] / # file /sbin/init
/sbin/init: symbolic link to ../lib/systemd/systemd

Pour plus d'informations, consultez ceci :https://en.wikipedia.org/wiki/Linux_startup_process

Une autre façon de voir exactement ce que vous avez sur votre système est de taper man init et voir sur quelle page de manuel du programme vous vous retrouvez.


Je sais que c'est une vieille question, mais comme je me posais la même question, voici mes 2ct.

Meilleure solution que j'ai trouvée

ps --no-headers -o comm 1

Cela renvoie soit systemd ou init et semble fiable dans toutes les distributions et versions de Linux.

file /sbin/init fonctionnerait, avec l'aide de la correspondance de motifs. Sortie de ps 1 ne semble pas utile car sur certaines distributions Linux, il affichera 'init' (le lien symbolique) malgré l'utilisation de systemd.

Debian 8

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:02 /sbin/init
$ file /sbin/init
/sbin/init: symbolic link to /lib/systemd/systemd

RHEL 7

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     7:46 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
$ file /sbin/init
/sbin/init: symbolic link to `../lib/systemd/systemd'

SLES 12

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:24 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
$ file /sbin/init
/sbin/init: symbolic link to `../usr/lib/systemd/systemd'

openSUSE 13.1

$ ps 1
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:33 /sbin/init showopts
$ /sbin/init: symbolic link to `../usr/lib/systemd/systemd'

Linux
  1. Comment déboguer des programmes C sous Linux à l'aide de gdb

  2. Comment lister les utilisateurs sous Linux

  3. Comment créer un service Systemd sous Linux

  4. Comment créer un utilisateur Linux avec Ansible

  5. Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

Comment créer un serveur CS:GO sur un VPS Linux

Comment afficher les utilisateurs de MySQL avec Linux

Comment savoir quelle distribution Linux vous utilisez ?

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment lister les systèmes de fichiers sous Linux à l'aide de Lfs

Linux – /sbin/init n'existe pas ?