私のユニットファイルには次のものがあります。
[Unit]
Description=Apache Solr as a Service
[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/opt/solr/solr start
ExecStop=/opt/solr/solr stop
私の分岐プロセスは/opt/solr/solr
明らかに次のために発生しました。RUNAS solr-user
solr-user
分岐されたプロセスが失敗した場合は、systemdプロセスを再起動する必要があります。だから私のユニットファイルに以下を追加しました。
Restart=on-failure
PIDFile=/opt/solr/solr-8080.pid
root でサービスを開始すると、sudo systemctl start solr-service
プロセスは正常に開始されますが、次のエラーが発生し、停止して再起動します。
systemd[1]: New main PID 12345 does not exist or is a zombie.