这是我第一次使用systemd并且对某些事情有点不确定 .
我已经设置了一个服务(用于在tomcat下运行的geoserver):
[Unit]
Description=Geoserver
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/geoserver/bin/startup-optis.sh
ExecStop=/usr/local/geoserver/bin/shutdown-optis.sh
User=geoserver
[Install]
WantedBy=multi-user.target
启动脚本执行exec来运行java / tomcat . 从命令行启动服务似乎有效:
sudo systemctl start geoserver
但是命令直到我ctrl-c才返回,这对我来说似乎不对 . 之后java进程仍在运行并且正常运行 . 我不愿重新启动盒子来测试这个,以防这会在init期间导致问题并且它是一台远程机器,让别人解决它会很痛苦 .
1 回答
您需要在“服务”部分中设置正确的“类型”: