Periksa proses apa yang berjalan sebagai PID 1. Anda dapat melakukannya dengan menjalankan ps 1
dan bergulir ke atas. Jika Anda memiliki beberapa systemd yang berjalan sebagai PID 1, Anda memiliki systemd yang berjalan.
Atau, jalankan systemctl
untuk membuat daftar unit systemd yang sedang berjalan.
Anda mungkin juga ingin memeriksa apakah /sbin/init itu; file /sbin/init
akan memberi tahu Anda apakah itu benar-benar dapat dieksekusi atau jika itu adalah tautan simbolis ke beberapa paket lain yang dapat dieksekusi. Pada kotak systemd, misalnya:
[email protected] / # file /sbin/init
/sbin/init: symbolic link to ../lib/systemd/systemd
Untuk informasi lebih lanjut, lihat ini:https://en.wikipedia.org/wiki/Linux_startup_process
Cara lain untuk melihat dengan tepat apa yang Anda miliki di sistem adalah mengetik man init
dan melihat halaman manual program mana yang Anda buka.
Saya tahu ini adalah pertanyaan lama, tetapi karena saya baru saja bertanya pada diri sendiri pertanyaan yang sama - inilah pertanyaan kedua saya.
Solusi terbaik yang saya buat
ps --no-headers -o comm 1
Ini mengembalikan systemd
atau init
dan tampak andal di seluruh distribusi dan rilis Linux.
file /sbin/init
akan berhasil, dengan bantuan pencocokan pola. Output dari ps 1
tampaknya tidak membantu karena pada beberapa distribusi Linux ia akan mencetak 'init' (symlink) meskipun systemd sedang digunakan.
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'