当前位置: 首页 > article >正文

Java根据端口范围关闭Appium服务

1、问题概述?

在开发中我们需要关闭对应的appium服务。

有时候,程序会自动开启很多的appium server,我们不能够一次都关闭了,而是需要关闭对应的appium Server。

这个时候,我们就可以通过端口关闭对应的appium服务。

2、问题—我怎么知道那个工程对应的端口号呢?

这其实就是一个设计的问题了

比如规定:工程1使用的端口范围是1001-1010

          工程2使用的端口范围是1011-1020

3、Java代码设计

此处只写了关闭指定的端口,如果是多个端口,使用for即可。

public class StopAppiumServer {
    public static void main(String[] args) {
        int port = 4723;
        String common="netstat -ano | findstr \":" + port + "\"";
        try {
            ProcessBuilder processBuilder = new ProcessBuilder();
            processBuilder.command("cmd.exe", "/c", common); // 指定CMD命令
            Process process = processBuilder.start();
            process.waitFor(); // 等待CMD命令执行完成

            InputStream inputStream= process.getInputStream();
            BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
            String line;
            while ((line = reader.readLine()) != null) {
                if (line.contains("LISTENING")) {
                    String[] parts = line.split(" ");
                    String pid = parts[parts.length - 1];
                    String killCmd = "taskkill /PID " + pid + " /F";
                    processBuilder.command("cmd.exe", "/c", killCmd);
                    process = processBuilder.start();
                    process.waitFor();
                    System.out.println("Appium Server stopped successfully");
                    break;
                }
            }
            System.out.println("Appium Server stopped successfully");
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

http://www.kler.cn/a/526764.html

相关文章:

  • idea修改模块名导致程序编译出错
  • Java---入门基础篇(上)
  • 我是如何写作的?
  • OSCP:发送钓鱼电子邮件执行客户端攻击
  • SQL注入漏洞之绕过[前端 服务端 waf]限制 以及 防御手法 一篇文章给你搞定
  • 探索性测试与自动化测试的结合
  • Java设计模式:行为型模式→责任链模式
  • 什么是Maxscript?为什么要学习Maxscript?
  • 数据结构之单链表(超详解)
  • 穷举vs暴搜vs深搜vs回溯vs剪枝系列一>解数独
  • 《一文读懂!Q-learning状态-动作值函数的直观理解》
  • win32汇编环境,窗口程序中使用滚动条控件的一般操作
  • AI 模型优化与性能调优
  • 芯片AI深度实战:进阶篇之vim内verilog实时基于AST的自定义检视
  • springboot集成钉钉,发送钉钉日报
  • 【Block总结】高效多尺度注意力EMA,超越SE、CBAM、SA、CA等注意力|即插即用
  • RK3568 opencv播放视频
  • 第23节课:前端调试技巧—掌握浏览器开发者工具与性能优化
  • 理解PLT表和GOT表
  • 新春登蛇山:告别岁月,启航未来
  • LeetCode 0219.存在重复元素 II:哈希表
  • 【Leetcode刷题记录】166. 分数到小数
  • [EAI-022] FuSe,在VLA模型基础上,融合触觉和语音等异构模态信息
  • 动态规划两个数组dp问题系列一>最长公共子序列
  • 网站快速收录:利用RSS订阅提升效率
  • fpga系列 硬件:FPGA VITIS PS端HELLO WORLD在 ZYNQ EBAZ4203板上实现