我的单位文件中有以下内容。
[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.