Java代码启动/关闭进程

ProcessBuilder builder = new ProcessBuilder(命令,参数,参数。。。);

Process process = builder.start();

br = new BufferedReader(new InputStreamReader(process.getInputStream()));

可以从br中读取日志信息

根据ID杀掉进程

String os = System.getProperty("os.name");
        try {
            if (os != null && os.startsWith("Windows")){
                for (int i = 0; i < pid.size(); i++) {
                    Runtime.getRuntime().exec("Taskkill /f /IM " + pid.get(i));
                }
            }else{
                for (int i = 0; i < pid.size(); i++) {
                    System.out.println("关闭linux进程");
                    String[] cmd ={"sh","-c","kill -9 "+pid.get(i)};
                    Runtime.getRuntime().exec(cmd);
                }
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

时间: 2024-11-08 14:43:42

Java代码启动/关闭进程的相关文章

Java代码启动Appium server

前言 Appium的启动方式有下面的两种: 使用Appium GUI启动,这种方式需要下载一个appium的客户端,然后填写地址和端口号.这是最简单粗暴的. 使用代码appium自带的库函数来实现启动appium server的启动 这篇文章着重讲使用代码实现appium server的启动 使用AppiumDriverLocalService 使用这个方法得先做下面的工作 在本机安装Node/js 使用npm安装Appium server 使用java代码启动Appium server主要依靠

java代码中获取进程process id(转)

另一方面,线程ID=进程ID+内部线程对象ID并不成立,    参考: blog.csdn.net/heyetina/article/details/6633901     如何在java代码中获取进程process id, 实现方法如下所示:    参考: rednaxelafx.iteye.com/blog/716918 http://www.cnblogs.com/mumuxinfei/p/3678854.html

DataX通过纯Java代码启动

DataX是阿里巴巴团队开发的一个很好开源项目,但是他们对如何使用只提供了python命令启动方式,这种方式对于只是想简单的用下DataX的人来说很是友好,仅仅需要几行代码就可以运行,但是如果你需要在DataX上进行二次开发,那么用python来控制程序加显得很没有掌控力度,也不容易和别的模块进行融合,今天来说下DataX纯Java代码的启动方式,也顺便来记录一下以后想用的时候加能直接用了 先把测绘的代码写上  就一行. 突然想起来还有好多代码没敲完!!!!先写到这,后面的下午6点前更新. 原文

Java程序与其它进程的数据通信

Java程序中可以启动其他的应用程序,这种在Java中启动的进程称为子进程,启动子进程的Java程序称为父进程,其实这个父进程就是一个Java虚拟机1.在Java程序中可以用Process类的实例对象来表示子进程,子进程的标准输入和输出不再连接到键盘和显示器(也就是不再接收键盘输入,和显示器输 出),而是以管道流的形式连接到父进程的一个输出流和输入流对象上2.调用Process类的getOutputStream和getInputStream方法可以获得连接到子进程的输出流和输入流对象.子进程从标

Android(java)学习笔记161:Framework运行环境之启动SystemServer进程

      SystemServer进程是zygote孵化出的第一个进程,该进程是从ZygoteInit.java的main函数中调用startSystemServer()开始的.与启动普通进程的差别在于:类zygote为启动SystemServer提供专门的函数startSystemServer(),而不是标准的forAndSpecilize函数.同时,SystemServer进程启动后首先要做的事情和普通进程也有所差别.     函数startSystemServer()的关键功能如下: (

在linux中安装jdk以及tomcat并shell脚本关闭启动的进程

在命令行模式中输入uname -a ,如下图,当界面展示i386就说明本linux系统为32版本,就在官网下载对应jdk版本,或者直接到我的网盘上下载http://pan.baidu.com/s/1cqMNd8 将下载好的tar包通过rz命令上传到服务器路径/usr/local下并通过命令解压:tar -xf jdk-7u67-linux-i586.tar.gz 编辑系统隐藏文件profile文件并添加jdk的path,命令:vi /etc/profile,在打开的界面通过i命令在该闻文本的结尾

使用java代码关闭指定端口的程序-windows下

转载请请在页首注明作者与出处 一:问题由史 今天遇到一个问题,就是在实现自动化灾备的时候,发现原有死掉的程序没有完全关闭,当然这都不是本文的重点,重点是这个时候,我得把它完全关闭,所以才有了这篇文章. 二:基础知识 2.1:java要怎么实现 java可以获取并删除JAVA虚拟机启动的应用,但是却并没有提供API获取操作系统中其它的进程的API. 但是java可以执行操作系统的脚本命令. 2.2:根据端口查找进程 windows中有这样的命令 netstat -ano 查看操作系统所有占用端口的

java虚拟机jvm启动后java代码层面发生了什么?

java虚拟机jvm启动后java代码层面发生了什么? 0000 我想验证的事情 java代码在被编译后可以被jdk提供的java命令进行加载和运行, 在我们的程序被运行起来的时候,都发生了什么事情, 下面就来探究下这个问题, 这个问题被拆成了两个问题, 第一个问题用来确定发生了哪些事情, 第二个问题用来确定这些事情是如何进行的. java进程里面都发生了哪些活动? 这些活动在java代码(反编译或者是源码)级别有所体现吗? 0001 寻找验证的方式 当我在探究上面两个问题时, 我想了很多方式去

java+tomcat+apache安装整合,启动/关闭,添加开机启动服务

安装java1.8 #yum update    服务器更新源码包 #rpm -qa |grep -E '^open[jre|jdk]|j[re|dk]'  搜索任何版本的已安装JDK组件 java-1.8.0-openjdk-headless-1.8.0.60-2.b27.el7_1.x86_64 pygobject2-2.28.6-11.el7.x86_64 pygobject3-base-3.8.2-6.el7.x86_64 java-1.8.0-openjdk-1.8.0.60-2.b2