我正在使用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
我应该向脚本添加什么以便它响应“service urlovedserver restart”?我无法知道如何停止java服务。
答案 0 :(得分:1)
在文件中写PID
。如果需要,可以阅读PID-file
以获取kill 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
答案 1 :(得分:0)
一个想法是获取已执行命令的pid(使用$!
shell变量)将其保存在文件中,然后在shell脚本中添加一个stop命令,该命令只会杀死它读取的java进程来自上一个文件。像
kill -9 `cat /var/run/myjavaservice.pid`.
然后重启将是stop()和start()