求教:Linux下Java应用程序的重启脚本

求教:Linux下Java应用程序的重启脚本,第1张

这局纤棚个是startup.sh的脚本

#!/bin/bash

java -Xms512m -Xmx1024m -classpath lib/antlr-2.7.6.jar:lib/commons-collections-3.2.jar:lib/jta.jar ...... xx.MainClass%1 %2

java -cp "$CLASSPATH" xx.MainClass>console.log &echo $! >MainClass.pid &

MainClass是我服务器的启动入口main所在的类.

脚本也是看到网上其他朋友写的,这个脚本在服务器启动的同时将pid写到MainClass.pid中下面的是restart.sh脚本

#!/bin/bash

cat MainClass.pid | xargs kill -9

java -Xms512m -Xmx1024m -classpath lib/antlr-2.7.6.jar:lib/commons-collections-3.2.jar:lib/jta.jar ...... xx.MainClass%1 %2这个脚本就竖桐是先关闭pid为MainClass.pid的进程

然后再启动.

问题是在服务器启动后,利用ps -aux查看进程,没有发现MainClass.pid的值

java.exe的桐则pid是另外一个值...

java中不能自己重启铅陆自己吧槐掘顷?

折中,调用一个CMD命令,执行重启程序,即

Runtime.getRuntime().exec("....")

在exec中执行一个批处理命名 ,杀掉当前java程序散裤后再重新启动。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12420062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存