[英]How to restart a Jar file on init.d?
我正在使用CentOS 6.3 64位。
我正在使用将服务器作为服务启动。
#!/bin/sh
# chkconfig: 2345 90 10
#description: URL Server
# processname: urlovedserver
start(){
java -jar /root/BookkServer-0.0.1-jar-with-dependencies.jar
}
# See how we were called.
case "$1" in
start)
start
;;
*)
echo "Usage: $0 {start}"
exit 1
esac
我应该在脚本中添加些什么,以便它响应“服务urlovedserver重新启动”? 我不知道如何停止Java服务。
将PID
写入文件。 如果需要,您可以读取PID-file
以杀死Java进程。
start(){
#run your process in background
java -jar /root/BookkServer-0.0.1-jar-with-dependencies.jar &
# write PID
echo $! > program.pid
}
现在您可以终止进程:
kill -9 `cat program.pid` #kill java process
一种想法是获取执行命令的pid(使用$!
shell变量)将其保存在文件中,然后在shell脚本中添加stop命令,该命令只会终止从前一个文件读取的Java进程。 就像是
kill -9 `cat /var/run/myjavaservice.pid`.
然后重启将只是stop()和start()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.