it-swarm.com.de

Warum zeigt der Befehl pstree in Ubuntu 16.04 LTS kein Init an?

Ich versuche, die Ausgabe des Befehls pstree zu untersuchen. Aber aus irgendeinem Grund geht es immer von etwas aus, das systemd heißt, und nicht von init. Ich habe die Prozess-IDs von init und systemd mit dem Befehl ps aux Überprüft und init hat eine PID von 1, während systemd eine andere PID hat. Warum wird init in der Ausgabe meines pstree nicht angezeigt? Gibt es eine Option, die ich geben muss?

Auch ich habe über Systemd vs Init Kontroverse gelesen, aber Ubuntu 16.04 LTS verwendet immer noch Init, um alles richtig zu starten?

Update, warum unterschiedliche PIDs?

Es stellt sich heraus, dass verschiedene PIDs, von denen ich dachte, dass sie Teil meiner Ignoranz waren. Der Init hatte eine PID 1, während systemd nicht das war, worüber ich sprach. Stattdessen habe ich bei der Ausführung von ps aux|grep systemd PIDs für /lib/systemd/systemd-* Gefunden, wobei * Einige zusätzliche Zeichen bedeutet. Ich sprach also nicht von systemd, sondern von einigen anderen Prozessen, die Erweiterungen (ist das das richtige Wort?) Von systemd waren, denke ich.

Einige Beispiele dafür * Sind wie folgt

/lib/systemd/systemd-journald
/lib/systemd/systemd-udevd
/lib/systemd/systemd-timesyncd
2
posixKing

Seit 15.04 ist init auf Ubuntu systemd. Upstart ist möglich , aber die Standardeinstellung ist systemd. Zum Beispiel ist /sbin/init Ein Link zu /lib/systemd/systemd. /sbin/{shutdown,reboot,telinit,halt,runlevel,poweroff} Sind Links zu /sbin/systemctl. Selbst in 16.04 wurde Upstart als Sitzungsinitialisierung verwendet, sodass Sie Upstart möglicherweise als übergeordneten Prozess oder als Vorgängerprozess in Ihrer grafischen Anmeldung sehen (obwohl =) es scheint sich in 16.10 geändert zu haben ).

Die anderen angezeigten Prozesse sind Systemkomponenten. Sie werden zusammen mit systemd entwickelt und vertrieben, aber viele sind nicht unbedingt erforderlich, um systemd als init auszuführen. Viele Komponenten können ausgetauscht oder deaktiviert werden. Um die systemd homepage zu zitieren:

systemd ist eine Reihe grundlegender Bausteine ​​für ein Linux-System. Es bietet einen System- und Service-Manager, der als PID 1 ausgeführt wird und den Rest des Systems startet. ... Weitere Bestandteile sind ein Protokollierungsdämon, Dienstprogramme zur Steuerung der grundlegenden Systemkonfiguration wie Hostname, Datum und Gebietsschema, eine Liste der angemeldeten Benutzer und ausgeführten Container und virtuellen Maschinen, Systemkonten, Laufzeitverzeichnisse und -einstellungen sowie Dämonen für Einfache Netzwerkkonfiguration, Netzwerkzeitsynchronisierung, Protokollweiterleitung und Namensauflösung verwalten.

Und this blog post von einem der Macher von systemd (Lennart Poettering):

  1. Mythos: systemd erlaubt Ihnen nicht, seine Komponenten zu ersetzen.

    Nicht wahr, Sie können so ziemlich jeden Teil von systemd ausschalten und ersetzen, mit sehr wenigen Ausnahmen. Und diese Ausnahmen (wie Journald) ermöglichen es Ihnen im Allgemeinen, eine Alternative nebeneinander zu betreiben und dabei gut mit ihr zusammenzuarbeiten.

3
muru