systemd は「Multiple ExecStart= settings」を拒否します。

systemd は「Multiple ExecStart= settings」を拒否します。

Redis用のシステムサービスファイルを作成しようとしています。

これは私のファイルです:

[Unit]
PartOf=smp-data-services.target
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/opt/eg/share/redis/bin/redis-server
ExecStop=/opt/eg/share/redis/bin/redis-cli
Restart=on-failure
User=eg
Group=eg

[Install]
WantedBy=multi-user.target

私が何をしても、次のような結果が表示されます。

# systemctl daemon-reload

systemd: redis.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.

次の問題なくコマンドラインからredisを起動できます。

/opt/eg/share/redis/bin/redis-server

redisデーモンの分岐プロセスは非標準なので、Type = forkingまたはoneshotを避ける必要があることを読んでいます。

ベストアンサー1

[service]セクションでExecStartコマンドをクリーンアップする必要があります。

[Unit]
PartOf=smp-data-services.target
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=
ExecStart=/opt/eg/share/redis/bin/redis-server
ExecStop=/opt/eg/share/redis/bin/redis-cli
Restart=on-failure
User=eg
Group=eg

[Install]
WantedBy=multi-user.target

おすすめ記事