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 

나는 다양한 지침을 시도했지만 소용이 없었습니다.

관련 정보