systemdのターゲット、サービス、ソケットは何ですか?

systemdのターゲット、サービス、ソケットは何ですか?

どちらもユニットファイルであることはわかりますが、その特別な意味を理解することはできません。ターゲットはデーモンに似ており、ソケットはソケット(IP +ポート)と同じですが、inode番号もあるようです。誰かが簡単な言葉で説明できますか?

ベストアンサー1

サービスユニット:

A unit configuration file whose name ends in .service encodes
information about a process controlled and supervised by systemd.

システムサービス(5)

Systemdサービスユニットは、プログラムとデーモンを実際に実行して追跡するユニットであり、サービスが正しい順序で開始されるように依存関係を使用します。最も一般的に使用される単位のタイプ。

ソケットユニット:

A unit configuration file whose name ends in ".socket" encodes
information about an IPC or network socket or a file system FIFO
controlled and supervised by systemd, for socket-based activation.

systemd.socket(5)

一方、ソケットデバイスは実際にデーモン自体を起動しません。代わりに、彼らはIPアドレスとポートまたはUNIXドメインソケットを聞いて座って何かがここに接続されると、ソケットが属するデーモンプロセスが開始され、接続を引き継ぎます。

これは、多くのリソースを使用しているがほとんど使用されていない大規模なデーモンが常に実行され、リソースを大量に消費することなく、必要なときにのみ起動できるようにするのに役立ちます。

対象単位:

A unit configuration file whose name ends in ".target" encodes
information about a target unit of systemd, which is used for grouping
units and as well-known synchronization points during start-up.

systemd.target(5)

目標は、単位をグループ化してソートするために使用されます。異なるサービス、ソケット、およびその他のデバイスが異なるターゲットで起動されるという点で、ランレベルとほぼ同じです。実行レベルとは異なり、これはより自由な形式であり、ターゲット間の依存関係を使用してシーケンシングユニット用の独自のターゲットを簡単に作成できます。

たとえば、multi-user.targetほとんどのデーモンはグループ化されており、basic.targetアクティベーションが必要です。つまり、グループ内のすべてのサービスはbasic.targetグループ内のサービスの前に開始されますmulti-user.target

おすすめ記事