/usr/lib/systemd/system/tomcat.service:13: Failed to parse service restart specifier, ignoring: /etc/init.d/tomcat restart
时间: 2023-07-05 10:36:14 浏览: 381
Nginx通过/etc/init.d/nginx方式启停【nginx配置文件】
5星 · 资源好评率100%
这个错误是因为在 `tomcat.service` 文件中的 `ExecRestart` 选项中指定了无效的重启命令。在 `systemd` 中,`Restart` 选项用于指定如何在服务失败时重新启动服务。你可以在 `Restart` 选项中指定以下值之一:`no`、`on-success`、`on-failure`、`on-abnormal`、`on-abort`、`on-watchdog` 或 `always`。
要解决这个问题,你可以将 `/usr/lib/systemd/system/tomcat.service` 文件中的 `ExecRestart` 选项从 `/etc/init.d/tomcat restart` 更改为 `Restart=on-failure`,如下所示:
```
[Unit]
Description=Tomcat
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/opt/jdk-11.0.1
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
```
修改后,保存文件并重新加载 `systemd` 配置,然后重新启动 Tomcat 服务:
```
sudo systemctl daemon-reload
sudo systemctl restart tomcat
```
现在,Tomcat 服务应该能够正确地启动,并且不会再出现 `Failed to parse service restart specifier, ignoring` 的错误。
阅读全文