Controlla quale processo è in esecuzione come PID 1. Puoi farlo eseguendo ps 1
e scorrendo verso l'alto. Se hai qualcosa di systemd in esecuzione come PID 1, hai systemd in esecuzione.
In alternativa, esegui systemctl
per elencare le unità di sistema in esecuzione.
Potresti anche voler controllare cos'è /sbin/init; file /sbin/init
ti dirà se è un vero eseguibile o se è un collegamento simbolico all'eseguibile di qualche altro pacchetto. Su una casella systemd, ad esempio:
[email protected] / # file /sbin/init
/sbin/init: symbolic link to ../lib/systemd/systemd
Per ulteriori informazioni, dai un'occhiata a questo:https://en.wikipedia.org/wiki/Linux_startup_process
Un altro modo per vedere esattamente cosa hai sul tuo sistema è digitare man init
e vedere su quale pagina man del programma sei finito.
So che questa è una vecchia domanda, ma dato che mi stavo ponendo la stessa domanda, ecco i miei 2ct.
La migliore soluzione che ho trovato
ps --no-headers -o comm 1
Questo restituisce systemd
o init
e appare affidabile nelle distribuzioni e nei rilasci di Linux.
file /sbin/init
funzionerebbe, con l'aiuto del pattern matching. Output di ps 1
non sembra utile poiché su alcune distribuzioni Linux stamperà 'init' (il collegamento simbolico) nonostante sia usato 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
DES 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'