システムがSysV、Upstart、またはSystemd initsystemを使用しているかどうかを確認する方法

システムがSysV、Upstart、またはSystemd initsystemを使用しているかどうかを確認する方法

どのinitsystemが使用されているかを簡単に知る方法はありますか(たとえば、最も近いシステムDebian wheezyまたはFedoraシステム)。私はそれがinitsystemをFedora 21使用していることを知っていますが、systemdそれについて読んですべての関連スクリプト/symlinkが/etc/systemd/Debian squeezeCentOS 6 or 7

そのようなinitsystemを検証するためにどのような技術がありますか?

ベストアンサー1

init プロセスには常に PID 1 が割り当てられます。/procファイルシステムは、PIDが指定された実行可能ファイルへのパスを取得する方法を提供します。

言い換えれば:

nathan@nathan-desktop:~$ sudo stat /proc/1/exe
  File: '/proc/1/exe' -> '/sbin/upstart'

ご覧のとおり、私のUbuntu 14.10システムのinitプロセスはUpstartです。 Ubuntu 15.04はsystemdを使用しているため、このコマンドを実行すると次のようになります。

nathan@nathan-gnome:~$ sudo stat /proc/1/exe
  File: '/proc/1/exe' -> '/lib/systemd/systemd'

システムから/sbin/init結果が出たら、ファイルの数を数えます。

nathan@nathan-gnome:~$ sudo stat /proc/1/exe
  File: '/proc/1/exe' -> '/sbin/init'
nathan@nathan-gnome:~$ stat /sbin/init
  File: ‘/sbin/init’ -> ‘/lib/systemd/systemd’

また、これを実行して詳細を確認することもできます。

[user@centos ~]$ /sbin/init --version
init (upstart 0.6.5)
Copyright (C) 2010 Canonical Ltd.

おすすめ記事