Zkontrolujte, který proces běží jako PID 1. Můžete to udělat spuštěním ps 1
a rolování nahoru. Pokud máte nějakou systémovou věc spuštěnou jako PID 1, máte spuštěnou systemd.
Případně spusťte systemctl
vypsat spuštěné systémové jednotky.
Můžete také zkontrolovat, co je /sbin/init; file /sbin/init
vám řekne, zda se jedná o skutečný spustitelný soubor, nebo zda jde o symbolický odkaz na spustitelný soubor jiného balíčku. Na systémovém boxu, například:
[email protected] / # file /sbin/init
/sbin/init: symbolic link to ../lib/systemd/systemd
Další informace naleznete zde:https://en.wikipedia.org/wiki/Linux_startup_process
Dalším způsobem, jak přesně zjistit, co máte v systému, je zadání man init
a uvidíte manuálovou stránku programu, na které skončíte.
Vím, že je to stará otázka, ale protože jsem si právě kladl stejnou otázku – tady jsou moje 2ct.
Nejlepší řešení, se kterým jsem přišel
ps --no-headers -o comm 1
To vrátí buď systemd
nebo init
a vypadá spolehlivě napříč distribucemi a vydáními Linuxu.
file /sbin/init
by fungovalo s pomocí shody vzorů. Výstup ps 1
nezdá se užitečné, protože na některých distribucích Linuxu vypíše 'init' (symlink) navzdory použití 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'