Вы можете проверить, является ли / sbin / init символической ссылкой на systemd. Это не так хорошо, как ps
метод, потому что возможно (но маловероятно), что что-то кроме /sbin/init
pid 1.
if [[ `file /sbin/init | grep -q systemd && echo 1` = 1 ]]
Я использовал следующую команду, чтобы проверить, использует ли система systemd
if [[ 1 == pidof systemd ]]; then
Но это не работает в chroot, так как proc не смонтирован.
sh-4.2# pidof systemd sh-4.2# ps Error, do this: mount -t proc proc /proc
Какой альтернативный метод можно использовать, чтобы проверить, использует ли система systemd или sysv?
Вы можете проверить, является ли / sbin / init символической ссылкой на systemd. Это не так хорошо, как ps
метод, потому что возможно (но маловероятно), что что-то кроме /sbin/init
pid 1.
if [[ `file /sbin/init | grep -q systemd && echo 1` = 1 ]]