すべてのenabled
サービスを一覧表示するにはどうすればよいsystemctl
ですか?
systemctl
コマンドを実行するだけですべてのサービスが一覧表示されますが、それらのサービスのみを取得したいenabled
です。
man systemctl
。
すべてのenabled
サービスを一覧表示するにはどうすればよいsystemctl
ですか?
systemctl
コマンドを実行するだけですべてのサービスが一覧表示されますが、それらのサービスのみを取得したいenabled
です。
man systemctl
。
回答:
systemctl list-unit-files | grep enabled
有効なものをすべてリストします。
現在実行しているものが必要な場合は、必要systemctl | grep running
です。
お探しのものを使用してください。有効になっていますが、実行されているわけではありません。実行しているからといって、有効になっているわけではありません。それらは2つの異なるものです。
有効は、システムが次回の起動時にサービスを実行することを意味します。そのため、サービスを有効にした場合でも、手動でサービスを開始するか、再起動してサービスを開始する必要があります。
実行とは、実際に実行されていることを意味しますが、有効になっていない場合、再起動しても再起動しません。
systemctl | grep running
私に何もリストしないでください!何かが実行されている場合でも、次のようなステータスのみがリストされますenabled, disabled, masked, static
systemctl list-unit-files --state=running
man systemctl
状態:
--state=
引数は、単位のカンマ区切りのリストであるべき
LOAD
、SUB
またはACTIVE
状態。ユニットをリストする場合、指定された状態のユニットのみを表示します。--state=failed
失敗したユニットのみを表示するために使用します。
説明:
LOAD
:ユニット定義が適切にロードされたかどうかを反映します。
ACTIVE
:高レベルのユニットのアクティブ化状態、つまりの一般化SUB
。
SUB
:低レベルのユニットのアクティブ化状態。値はユニットのタイプによって異なります。
ただし、これを使用して以下のenabled
ユニットのみを表示することもできます:
systemctl list-unit-files --state=enabled
ユニットがenabled
それである場合、システムは起動時にそれを開始します。に設定しenabled
ても実際には設定されないstart
ため、手動で設定するか、に設定してからシステムを再起動する必要がありますenabled
。
systemctl enable --now ...
--state=enabled
systemdバージョン215(Raspbian 8 Jessie)では効果がありませんが、systemdバージョン229(Ubuntu 16.04.03 Xenial)では機能します。
すべてのリストにsystemd
しているサービスをstate=active
し、sub=running
systemctl list-units --type=service --state=running
実行中または終了したいずれかのサブおよびサブにsystemd
あるすべてのサービスをリストするにはstate=active
systemctl list-units --type=service --state=active
まだupstart / initの下にあるこれらを含む「有効な」サービスを表示するには、次を実行します。
systemctl list-unit-files --type service --state enabled,generated
現在実行中のサービスをすべて表示するには、次を実行します。
systemctl list-units --type service --state running
sshd
対ssh
とsyslog
対rsyslog
。
すべてのアクティブなサービスと失敗したサービスの概要:
systemctl list-units --type service --state running,failed