Come scoprire quale gestore servizi è installato sul mio sistema operativo Linux?


2

So che la mia installazione di Linux include una delle implementazioni di Service Manager. Potrebbe essere Systemd, Upstart o uno qualsiasi degli altri.

Quindi, la mia domanda è: come posso sapere quale di questi è installato sul mio sistema Linux?

Grazie.

AGGIORNARE

Ecco alcuni comandi ps / grep dal mio sistema che cercano systemd e upstart e i loro output:

$ 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
Cercando uno o semplicemente provando i comandi appropriati? Inoltre, di solito esiste uno standard per una determinata distribuzione. Dove e come lo guarderesti dipende dalla distribuzione.
Seth,

1. fammi un esempio. Ad esempio sulla tua distribuzione Linux. 2. esiste una "firma" o può essere un messaggio di registro scaricato nel registro che può fornire un indizio? Il problema è che non conosco affatto questi gestori di servizi. Sono appena venuto a conoscenza della loro esistenza oggi. Quindi, qualsiasi indizio sarebbe di aiuto ... davvero.
Hebbo il

1
Come funzionano i servizi in Debian e come posso gestirli? ha un esempio per ciascuna delle alternative che hai nominato. Sebbene Debian abbia cambiato è l'impostazione predefinita.
Seth,

1
Questo è un duplicato del sistema Detect init usando la shell .
Mark Stosberg,

Risposte:


3

Il modo più semplice è capire quale sistema operativo e vedere di cosa si occupa per impostazione predefinita. i sistemi init non sono banali da cambiare.

Su un sistema completamente sconosciuto suggerirei di usare un mix di ps e grep per verificare i processi comuni relativi a ciascun sistema init e vedere ...

Non ho un sistema che utilizza il sistema di script init "classico", quindi non ho modo di verificarlo.

Su un moderno Fedora o Ubuntu - puoi usare ps aux | grep systemd, che dovrebbe emettere linee come usr/lib/systemd/systemd. Memorizza anche i file di configurazione inetc/systemd/

Utilizzeresti anche systemctl per gestire i servizi

Su un sistema basato su upstart puoi fare ps aux | grep upstarte trovare alcuni processi relativi all'avvio.

Upstart utilizza il comando di servizio e archivia i file di configurazione in / etc / init / proprio come un classico file init. Utilizza il proprio formato, salvato come file .conf, anche se alcuni di questi sono file init classici.

Usi spesso gli script di inizializzazione in stile sysv insieme a quelli più moderni, ma non ho alcun sistema che lo usi solo per verificarli. Se stai scrivendo uno script init per un sistema sconosciuto, questa è in genere una scommessa sicura, anche se perdi le cose brillanti che aggiungono i nuovi sistemi init.


C'è anche il riferimento della risposta nel commento di MarkStosberg alla domanda.
Hebbo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.