Systemctlからすべての有効なサービスを一覧表示するには?

すべてを一覧表示するにはどうすればよいですか enabled からのサービス systemctl?

私は走ることを知っている systemctl コマンド自体はすべてのサービスを一覧表示しますが、私は唯一の取得したいと思います enabled -------

systemctl list-unit-files | grep enabled すべてを一覧表示します 有効 -------

あなたが現在どのものをしたい場合 ランニング、あなたは必要です systemctl | grep running.

あなたが探しているものを使用してください。 有効になっている、それが実行されているという意味ではありません。 そして、実行しても、それが有効になっているわけではありません。 彼らは二つの異なるものです。

Enabledは、システムが次回の起動時にサービスを実行することを意味します。 したがって、サービスを有効にした場合でも、手動で起動するか、再起動する必要があります。

実行中とは、実際には現在実行されていることを意味しますが、有効になっていない場合は、再起動しても再起動しません。

man systemctl 州:

--state=

引数は、カンマ区切りの単位リストである必要があります LOAD, SUB、または ACTIVE 州。 単位を一覧表示する場合は、指定された状態の単位のみを表示します。 使用 --state=failed 失敗したユニットのみを表示します。

説明:

LOAD:ユニット定義が適切にロードされたかどうかを反映します。
ACTIVE:高レベルのユニット活性化状態、すなわちの一般化 SUB.
SUB:低レベルのユニット活性化状態、値はユニットタイプに依存します。

これを使用して表示することもできますが enabled との単位:

systemctl list-unit-files --state=enabled

単位がある場合 enabled これは、システムが起動時に起動することを意味します。 に何かを設定しても enabled 実際にもそうではありません start それはあなたがそれを手動で行うか、それを設定した後にシステムを再起動する必要があるでしょう enabled.

すべてを一覧表示するには systemd にあるサービス state=activesub=running

systemctl list-units --type=service --state=running

すべてを一覧表示するには systemd あるserice 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

また、すべてのアクティブなサービスと障害が発生したサービスの概要も示します:

systemctl list-units --type service --state running,failed

すべてのサービスを管理できるStacerと呼ばれる優れたGUIアプリケーションがあります。

enter image description here

そのGithubリンクを確認する Stacer(ステイサー)
また、チェック ウェブ より多くの情報のため

現在の回答に加えて、私はサービスの名前だけを取得するために以下を使用します:

systemctl list-units --type=service --state=active,running | awk '/.*\.service/ {print $1}'

これにより、表形式ではなく、それらのサービスだけを別のプログラムにパイプすることが容易になります

@Genサービスを有効にすることは、それを開始することとは全く異なります。 Man systemctlを参照してください。

魅力的だ それは明らかに最良の答えではありませんにもかかわらず、最低の定格の答えは、最も"正しい"答えです。 この優れた質問(とその答え)は、systemdがUnix&Coの長年の(そして華麗な)設計原則にどのように違反しているかの興味深い例です。 @FelipeAlvarezは、最も受け入れられている答えはsystemdがunix設計哲学に従っていると仮定していますが、systemd/systemctlは彼が望んでいることを正確に行うことができます(ほとん 私はLinus Torvaldsがsystemdに対して非常に激しく批判的である理由をより明確に見始めます。

有効とはどういう意味ですか? あなたは実行されているサービスを意味しますか?