#!/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程序散裤后再重新启动。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)