GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Woher weiß ich, ob ich systemd unter Linux verwende?

Überprüfen Sie, welcher Prozess als PID 1 ausgeführt wird. Sie können dies tun, indem Sie ps 1 ausführen und nach oben scrollen. Wenn Sie ein systemd-Ding als PID 1 ausführen, haben Sie systemd ausgeführt.

Führen Sie alternativ systemctl aus um laufende systemd-Units aufzulisten.

Vielleicht möchten Sie auch überprüfen, was /sbin/init ist; file /sbin/init wird Ihnen sagen, ob es sich um eine echte ausführbare Datei handelt oder ob es sich um einen symbolischen Link zu der ausführbaren Datei eines anderen Pakets handelt. Auf einer systemd-Box zum Beispiel:

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

Weitere Informationen finden Sie hier:https://en.wikipedia.org/wiki/Linux_startup_process

Eine andere Möglichkeit, genau zu sehen, was Sie auf Ihrem System haben, ist die Eingabe von man init und zu sehen, auf welcher Manpage des Programms Sie landen.


Ich weiß, dass dies eine alte Frage ist, aber da ich mir gerade dieselbe Frage gestellt habe - hier sind meine 2ct.

Beste Lösung, die mir eingefallen ist

ps --no-headers -o comm 1

Dies gibt entweder systemd zurück oder init und scheint über alle Linux-Distributionen und -Versionen hinweg zuverlässig zu sein.

file /sbin/init würde funktionieren, mit Hilfe des Musterabgleichs. Ausgabe von ps 1 erscheint nicht hilfreich, da es bei einigen Linux-Distributionen 'init' (den Symlink) ausgibt, obwohl systemd verwendet wird.

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. Wie man C-Programme unter Linux mit gdb debuggt

  2. Woher wissen Sie, welche Linux-Distribution Sie verwenden?

  3. So listen Sie Benutzer unter Linux auf

  4. So generieren Sie ein zufälliges Passwort unter Linux mit /dev/random

  5. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

So erstellen Sie einen CS:GO-Server auf einem Linux-VPS

So zeigen Sie Benutzer in MySQL mit Linux an

So benennen Sie Dateien über die Befehlszeile in Linux um

So listen Sie Dateisysteme in Linux mit Lfs auf

Linux – /sbin/init existiert nicht?

Wie Linux /dev/tty und /dev/tty0 verwendet