我在java中执行network
服务重启,如下所示。
String[] serviceStop = { "service","network","restart" };
Process networkProc = new ProcessBuilder(serviceStop).start();
networkProc.waitFor();
Integer returncode=networkProc.exitValue();
即使仍在重新启动,也会返回成功代码。
但我需要确保重启成功,并通过检查network service
状态返回完成。如何在Java中实现这一点?
答案 0 :(得分:0)
您可以使用service network status
显示网络状态。有了循环和睡眠,你应该达到你想要的效果,但我真的很惊讶你的需要。
你看过程输出吗? (某些进程以0退出但显示错误)
Process networkProc = new ProcessBuilder(serviceStop)
.redirectOutput(new File("serviceRestartOuput.txt"))
.start();
您也可以使用ifdown和ifup ifdown eth0 && ifup eth0
代替服务,将eth0替换为您的网络接口名称。像对待service network restart
一样调用流程。