ExecStopスクリプトを実行する前にプロセスが終了しました。

ExecStopスクリプトを実行する前にプロセスが終了しました。

Postgresの開始と停止を制御するためにsystemdユニットファイルが作成されました。 systemctl start または start コマンドを使用すると、期待どおりに動作します。ただし、システムが再起動されると(systemctl restart)、シャットダウン中にPostgresプロセスはExecStopスクリプトを実行する前に常に終了します。 ExecStopスクリプトが実行されると、プロセスは終了し、スクリプトは失敗します。

これはユニットファイルです:

[Unit]
Description=PostgresStartStop service
Requires=network.target
After=network.target
Before=shutdown.target reboot.target halt.target kexec.target 
DefaultDependencies=no

[Service]
Type=forking
RemainAfterExit=yes
ExecStart=/etc/rc.d/init.d/postgresStartStop start
ExecStop=/etc/rc.d/init.d/postgresStartStop stop
TimeoutSec=900
StandardOutput=inherit
PIDFile=/var/lib/pgsql/data/postmaster.pid

[Install]
WantedBy=multi-user.target 

私はいろいろなガイドラインを試しましたが、役に立ちませんでした。

ベストアンサー1

おすすめ記事