我的systemd单元文件看起来像这样
start() {
java -jar server.jar &
}
reload() {
#do some application specific reload stuff
start
}
我在系统调用重新加载完成时意识到这一点,运行java -jar
的进程实际上已经死了。 Systemd似乎认为我的重装过程已经完成并将其杀死。有没有办法配置和取消此进程查杀行为?我已经尝试不使用该过程,并在服务文件中弄乱KillMode=blah
和Type=blah
,但没有结果。
在CentOS 7.4上运行
答案 0 :(得分:0)
我不知道我是否理解了您的问题,您是否希望systemd单元文件执行server.jar,对吧? 按照以下顺序尝试。
首先创建你的服务单位文件。
# vim /etc/systemd/system/blah.service
[Unit]
Description=blah service
After=network.target
Requires=network.target
[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/blah
ExecStart=/usr/bin/java -jar server.jar
Restart=always
User=blah_USERNAME
[Install]
WantedBy=multi-user.target
然后重新加载blah服务单元文件。
# systemctl daemon-reload
测试它!
# systemctl start blah
# systemctl status blah
# systemctl restart blah
# systemctl status blah
我希望这会对你有所帮助。