Wie kann ich herausfinden, welcher Service Manager auf meinem Linux-Betriebssystem installiert ist?

943
hebbo

Ich weiß, dass meine Linux-Installation mit einer der Service Manager-Implementierungen geliefert wird. Dies kann entweder Systemd, Upstart oder einer der anderen sein.

Meine Frage ist also, wie ich herausfinden kann, welche davon auf meinem Linux-System installiert ist.

Vielen Dank.

AKTUALISIEREN

Hier sind einige ps / grep-Befehle meines Systems, die nach systemd und upstart suchen, sowie deren Ausgaben:

$ ps aux | grep systemd root 341 0.0 0.0 52244 3836 ? Ss 15:54 0:00 /lib/systemd/systemd-udevd --daemon root 588 0.0 0.0 43452 3200 ? Ss 15:54 0:00 /lib/systemd/systemd-logind root 1889 0.0 0.0 17520 1840 ? S 15:54 0:00 /lib/systemd/systemd-localed user123 2348 0.0 0.0 15948 2236 pts/1 S+ 15:56 0:00 grep --color=auto systemd $ ps aux | grep upstart root 329 0.0 0.0 19744 2308 ? S 15:54 0:00 upstart-udev-bridge --daemon root 763 0.0 0.0 15808 2168 ? S 15:54 0:00 upstart-file-bridge --daemon root 770 0.0 0.0 15528 1984 ? S 15:54 0:00 upstart-socket-bridge --daemon user123 1525 0.0 0.0 22304 2336 ? Ss 15:54 0:00 upstart-event-bridge user123 1553 0.0 0.0 22368 1828 ? S 15:54 0:00 upstart-dbus-bridge --daemon --session --user --bus-name session user123 1560 0.0 0.0 30784 280 ? S 15:54 0:00 upstart-file-bridge --daemon --user user123 1562 0.0 0.0 22312 216 ? S 15:54 0:00 upstart-dbus-bridge --daemon --system --user --bus-name system user123 2350 0.0 0.0 15948 2280 pts/1 S+ 15:56 0:00 grep --color=auto upstart 
1
Suchen Sie entweder nach oder probieren Sie einfach die entsprechenden Befehle aus? Zusätzlich gibt es normalerweise einen Standard für eine gegebene Distribution. Wo und wie das aussehen würde, hängt von der Distribution ab. Seth vor 7 Jahren 1
1. Gib mir ein Beispiel. Zum Beispiel auf Ihrer eigenen Linux-Distribution. 2. Gibt es eine "Signatur" oder kann eine Protokollmeldung im Protokoll abgelegt werden, die einen Hinweis geben kann? Das Problem ist, dass ich mit diesen Service-Managern überhaupt nicht vertraut bin. Ich habe gerade von ihrer Existenz heute erfahren. Jeder Hinweis würde also helfen .... wirklich. hebbo vor 7 Jahren 0
[Wie funktionieren Services in Debian und wie kann ich sie verwalten?] (Http://unix.stackexchange.com/questions/106656/how-do-services-in-debian-work-and-how-can-i -manage-they) hat ein Beispiel für jede der von Ihnen genannten Alternativen. Obwohl [Debian hat sich geändert] (https://www.debian.org/News/2015/20150426), ist es Standard. Seth vor 7 Jahren 1
Dies ist ein Duplikat von [Erkennen Sie das init-System mithilfe der Shell] (http://unix.stackexchange.com/questions/18209/detect-init-system-using-the-shell). Mark Stosberg vor 7 Jahren 1

1 Antwort auf die Frage

3
Journeyman Geek

Der einfachste Weg ist, herauszufinden, welches Betriebssystem standardmäßig ausgeführt wird. init-Systeme sind nicht einfach zu ändern.

Bei einem völlig unbekannten System würde ich vorschlagen, eine Mischung aus ps und grep zu verwenden, um nach allgemeinen Prozessen zu suchen, die sich auf jedes init-System beziehen, und sehen Sie ..

Ich habe kein System, das das "klassische" Init-Skript-System verwendet, daher kann ich dies nicht überprüfen.

Auf einer modernen Fedora- oder Ubuntu-Box können Sie verwenden ps aux | grep systemd, welche Zeilen wie emittieren sollen usr/lib/systemd/systemd. Es speichert auch Konfigurationsdateien inetc/systemd/

Sie würden systemctl auch verwenden, um Dienste abzuwickeln

Auf einem Upstart-basierten System können Sie ps aux | grep upstarteinige Upstart-bezogene Prozesse durchführen und finden.

Upstart verwendet den Dienstbefehl und speichert Konfigurationsdateien in / etc / init / wie eine klassische init-Datei. Es verwendet ein eigenes Format, das als .conf-Dateien gespeichert wird - einige davon sind jedoch klassische init-Dateien.

Sie verwenden häufig sysv-Stil-Init-Skripte neben moderneren, aber ich habe keine Systeme, die rein darauf zugreifen. Wenn Sie ein Init-Skript für ein unbekanntes System schreiben, ist dies normalerweise eine sichere Sache, obwohl Sie die glänzenden Dinge verlieren, die neuere Init-Systeme hinzufügen.

In dem Kommentar von MarkStosberg zu der Frage gibt es auch die Antwort. hebbo vor 7 Jahren 0