gpt4 book ai didi

java - 以编程方式检查java中的centos 'network'服务状态

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:37 24 4
gpt4 key购买 nike

我正在 java 中执行 network 服务重启,如下所示。

String[] serviceStop = { "service","network","restart" };
Process networkProc = new ProcessBuilder(serviceStop).start();
networkProc.waitFor();
Integer returncode=networkProc.exitValue();

即使它仍在重新启动,它也会返回成功代码。但我需要通过检查 network service 状态来确保重启成功并在完成后返回。如何在 Java 中实现这一点?

最佳答案

您可以使用服务网络状态来显示网络状态。使用 loop 和 sleep 你应该可以实现你想要的,但我真的很惊讶你的需求。

  • 你确定 exitValue 是 0 吗?
  • 您确定您拥有执行此命令的所有权限吗?
  • 您会查看流程输出吗? (有些进程以0退出但显示错误)

    Process networkProc = new ProcessBuilder(serviceStop)
    .redirectOutput(new File("serviceRestartOuput.txt"))
    .start();

除了服务,您还可以使用 ifdown 和 ifup ifdown eth0 && ifup eth0 ,将 eth0 替换为您的网络接口(interface)名称。像调用 service network restart 一样调用进程。

关于java - 以编程方式检查java中的centos 'network'服务状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com