Java程序如何在Linux系统下自行重启?

Java程序如何在Linux系统下自行重启?,第1张

在 java 程序 A 中,如果通过 Runtime.getRuntime().exec() 来启动 java 程序 B,即使不加 nohup,A 结束庆毕歼后 B 也不会被杀。

我觉得可能程数晌序 B 根本就没启动成功,誉冲或者已经运行结束了。你可以打个断点测试下。

这局纤棚个是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是另外一个值...


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

原文地址: http://outofmemory.cn/yw/12480197.html

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

发表评论

登录后才能评论

评论列表(0条)

保存