#システムD

導入

SystemD は Linux のシステム マネージャーであり、その主なインターフェイスは systemctl (ユーザーが実行するコマンド) です。

systemctl インターフェースを介して、ユニット(unit) を開始/停止できます。最も一般的に使用されるユニットは、システム デーモンであるサービスユニット(service)です。その他のユニットには、ネットワークソケット、タイマー(timer)などが含まれます。

サービス ユニットには、サービスを開始するために必要な情報を設定するサービス説明ファイルがあります。たとえば、sshd のサービス説明は、「マルチユーザーモードでは、SSH を実行する前にネットワークが利用可能になるまで待ちます。」サービス記述ファイルを変更した後、変更を有効にするためにサービスを再起動する必要があります。

サービス記述ファイル

以下はサービス記述ファイルの例です。多くの設定がありますが、一般的に使用されるものはほんのわずかです。

[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/sbin/sshd -t
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -t
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify
RuntimeDirectory=sshd
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
Alias=sshd.service

インターネット上には、使用できる 説明ファイルジェネレーター がいくつかあります。

システムのユニット記述ファイルは通常、ディレクトリ /etc/systemd/system に置かれます。ユーザーのユニット記述ファイルは、ディレクトリ /etc/systemd/user に配置されます。コマンドsystemctl status xxx.serviceは、ユニット記述ファイルの場所を表示します。


作者: wangdoc

アドレス: https://wangdoc.com/

ライセンス: クリエイティブ・コモンズ 3.0