マニュアルページでは、サービスオプションについてsystemd.service(5)
説明します。Type
Type=
このサービス単位のプロセス開始タイプを構成します。
simple
、、、forking
またはいずれかですoneshot
。dbus
notify
idle
Type=
単純に設定されている場合(両方が指定されていない場合はBusName=
デフォルトExecStart=
)、構成されたプロセスはExecStart=
サービスの基本プロセスになると予想されます。このモードでプロセスがシステム内の他のプロセスに機能を提供する場合は、デーモンが起動する前に適切な通信チャネルをインストールする必要があります(たとえば、ソケットのアクティブ化によってsystemdによって設定されたソケットなど)。systemdは後続のデバイスをすぐに起動するためです。
これが私に意味するのは、systemdがここでこれらの単位を並列に開始しないことです。またこちら:
に設定すると、構成された
forking
プロセスが開始の一部として呼び出されるExecStart=
と予想されます。fork()
起動が完了し、すべての通信チャネルが確立されると、親プロセスが終了すると予想されます。子プロセスは引き続きデフォルトデーモンとして実行されます。これは従来のUNIXデーモンの動作です。この設定を使用する場合は、PIDFile=
systemdがデーモンのデフォルトプロセスを識別できるように、このオプションも使用することをお勧めします。親プロセスが終了すると、systemd は引き続き後続のユニットを起動します。
つまり、このマニュアルページによると、systemdはサービスユニットを順番に実行しますか?もしそうなら、systemdがデーモンをアクティブにしたときに後続のデバイスをアクティブにする前にデーモンを待ちますか?まったく言葉ではありません。
Type
他部門の起動プロセスにどのような影響を与えますか?