如何查找系统是否在 chroot 中使用 systemd?

如何查找系统是否在 chroot 中使用 systemd?

我使用以下命令检查系统是否使用 systemd
if [[ 1 == pidof systemd ]]; then

但由于 proc 尚未安装,因此此操作在 chroot 中会失败。

sh-4.2# pidof systemd sh-4.2# ps Error, do this: mount -t proc proc /proc

可以使用什么替代方法来检查系统是否使用 systemd 或 sysv?

答案1

您可以检查 /sbin/init 是否是 systemd 的符号链接。这种方法不如该方法好,因为除了pid 1 之外ps还可能存在其他东西(但可能性不大) 。/sbin/init

if [[ `file /sbin/init | grep -q systemd && echo 1` = 1 ]]

相关内容