web-dev-qa-db-ja.com

Linux OSにインストールされているサービスマネージャーを確認するにはどうすればよいですか?

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
3
hebbo

最も簡単な方法は、どの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システムが追加する光沢のあるものを失うことになります。

3
Journeyman Geek

DebianベースのLinuxディストリビューションの場合:

$ dpkg -S $(which init)
systemd-sysv: /sbin/init

RedhatベースのLinuxディストリビューションの場合:

$ rpm -qf $(which init)
upstart-0.6.5-16.el6.x86_64

完成する...

0
SebMa