web-dev-qa-db-ja.com

非アクティブサービスと無効サービス、アクティブサービスと有効サービスの違い

有効またはアクティブ、無効または非アクティブの概念に混乱しています。

誰かがそれを説明できますか?

10
drpaneas

systemdのmanページには、探している情報が含まれています。

抜粋

systemdは、「ユニット」と呼ばれるさまざまなエンティティ間の依存関係システムを提供します。ユニットは、システムの起動とメンテナンスに関連するさまざまなオブジェクトをカプセル化します。ユニットの大部分はユニット構成ファイルで構成され、その構文と基本的なオプションのセットはsystemd.unit(5)に記述されていますが、一部は他の構成から自動的に、またはシステム状態から動的に作成されます。

ユニットは、「アクティブ」(ユニットタイプに応じて開始、バインド、プラグインなどを意味します。以下を参照)、または「非アクティブ」(停止、バインド解除、プラグイン解除を意味する...)のほか、アクティブ化または非アクティブ化のプロセス、つまり2つの状態の間(これらの状態は「アクティブ化」、「非アクティブ化」と呼ばれます)。

特別な「失敗」状態も利用できます。これは「非アクティブ」と非常によく似ており、サービスが何らかの方法で失敗したときに終了します(プロセスが終了時にエラーコードを返した、またはクラッシュした、または操作がタイムアウトした)。この状態になると、後で参照できるように原因がログに記録されます。

さまざまなユニットタイプには、ここで説明する5つの一般化されたユニット状態にマッピングされる、いくつかの追加のサブ状態がある場合があります。

壊す

したがって、上記を読んで違いを本当に理解していない場合は、簡単に言えば、ここにあります。

  • 有効-システムの起動時に開始するようにサービス(ユニット)が構成されています
  • 無効-システムの起動時にサービス(ユニット)が起動しないように設定されています
  • active-サービス(ユニット)は現在実行中です。
  • 非アクティブ-サービス(ユニット)は現在実行されていませんが、何かがサービスを利用しようとすると、開始される可能性があります。つまり、アクティブになります。

非活性

この最後の1つは最も厄介なように見えますが、systemdxinetdと同じように考えてください。サービスを管理し、必要に応じてオンデマンドで起動できます。したがって、サービスが「オフ」である間、サービスはinactive状態ですが、開始すると、次のようになります- active

この状態は、サービス(ユニット)が有効になっているが、まだ手動で開始されていない場合にも発生する可能性があります。したがって、サービスはstoppedまたはfailedに「休止」を配置しますサービスが手動で開始されるか、システムが再起動するまで状態が続き、サービスがactiveになりますその有効化のため。

15
slm

サービスを有効/無効にすると、基本的に起動時に自動的に開始するかどうかがわかります。

そう、 systemctl enable lxdmはDMとしてLXDMを設定します。ただし、すぐには開始されません。

一方、アクティブ/非アクティブ(およびオプションで失敗)は、サービスの現在の状態を示します。実行後systemctl start lxdm、LXDMは実際に実行され、そのステータスはアクティブです。

通常、サービスを初めてインストールするときは、まずサービスを開始してテストします。チェックアウトした場合、それを有効にします。そうすれば、起動中にシステムがハングするのを回避できます。

6
aprad046