Linuxのインストールには、ServiceManagerの実装の1つが付属していることを知っています。 Systemd、Upstart、またはその他のいずれかです。
だから、私の質問は、それらのどれが私のLinuxシステムにインストールされているかをどうやって見つけることができるかということです。
ありがとう。
[〜#〜] update [〜#〜]
Systemdとupstartを検索する私のシステムからのps/grepコマンドと、それらの出力を次に示します。
$ ps aux | grep systemd
root 341 0.0 0.0 52244 3836 ? Ss 15:54 0:00 /lib/systemd/systemd-udevd --daemon
root 588 0.0 0.0 43452 3200 ? Ss 15:54 0:00 /lib/systemd/systemd-logind
root 1889 0.0 0.0 17520 1840 ? S 15:54 0:00 /lib/systemd/systemd-localed
user123 2348 0.0 0.0 15948 2236 pts/1 S+ 15:56 0:00 grep --color=auto systemd
$ ps aux | grep upstart
root 329 0.0 0.0 19744 2308 ? S 15:54 0:00 upstart-udev-bridge --daemon
root 763 0.0 0.0 15808 2168 ? S 15:54 0:00 upstart-file-bridge --daemon
root 770 0.0 0.0 15528 1984 ? S 15:54 0:00 upstart-socket-bridge --daemon
user123 1525 0.0 0.0 22304 2336 ? Ss 15:54 0:00 upstart-event-bridge
user123 1553 0.0 0.0 22368 1828 ? S 15:54 0:00 upstart-dbus-bridge --daemon --session --user --bus-name session
user123 1560 0.0 0.0 30784 280 ? S 15:54 0:00 upstart-file-bridge --daemon --user
user123 1562 0.0 0.0 22312 216 ? S 15:54 0:00 upstart-dbus-bridge --daemon --system --user --bus-name system
user123 2350 0.0 0.0 15948 2280 pts/1 S+ 15:56 0:00 grep --color=auto upstart
最も簡単な方法は、どのOSを調べて、デフォルトで何が実行されるかを確認することです。 initシステムを変更するのは簡単ではありません。
完全に未知のシステムでは、psとgrepを組み合わせて使用して、各initシステムに関連する一般的なプロセスを確認することをお勧めします。
'classic' initスクリプトシステムを使用するシステムがないため、確認する方法がありません。
最新のFedoraまたはubuntuボックスでは、ps aux | grep systemd
を使用できます。これにより、usr/lib/systemd/systemd
のような行が出力されます。また、構成ファイルをetc/systemd/
に保存します
また、systemctlを使用してサービスを処理します
アップスタートベースのシステムでは、ps aux | grep upstart
を実行して、いくつかのアップスタート関連のプロセスを見つけることができます。
Upstartはserviceコマンドを使用し、従来のinitファイルと同じように構成ファイルを/ etc/init /に保存します。独自の形式を使用し、.confファイルとして保存されます。ただし、これらの一部は従来のinitファイルです。
最近のスクリプトと一緒にsysvスタイルのinitスクリプトを使用することがよくありますが、それらをチェックするために純粋にそれを使用するシステムはありません。未知のシステム用のinitスクリプトを作成している場合、これは通常は安全な方法ですが、新しいinitシステムが追加する光沢のあるものを失うことになります。
DebianベースのLinuxディストリビューションの場合:
$ dpkg -S $(which init)
systemd-sysv: /sbin/init
RedhatベースのLinuxディストリビューションの場合:
$ rpm -qf $(which init)
upstart-0.6.5-16.el6.x86_64
完成する...