`

java调用bat&监控windows下的某一进程是否关闭

阅读更多

java调用bat&监控windows下的某一进程是否关闭


java调用bat:如果要和Runtime创建的进程交互,必须自己写交互的代码,例如通过socket,两个java进程互相通信。

Java代码 复制代码
  1. import java.io.IOException;   
  2.   
  3. public class Main {   
  4.   
  5. public static void main(String[] args){   
  6. try {   
  7. Runtime rt = Runtime.getRuntime();   
  8. rt.exec("cmd.exe /c start c:\\1.bat");   
  9. catch (IOException e) {   
  10. e.printStackTrace();   
  11. }   
  12. }   
  13. /* 1.bat的内容  
  14. * @echo off  
  15. * echo lsd>>c:\lsd.txt  
  16. *  
  17. * */  
  18. }  
import java.io.IOException;

public class Main {

public static void main(String[] args){
try {
Runtime rt = Runtime.getRuntime();
rt.exec("cmd.exe /c start c:\\1.bat");
} catch (IOException e) {
e.printStackTrace();
}
}
/* 1.bat的内容
* @echo off
* echo lsd>>c:\lsd.txt
*
* */
}
 



java监控windows下的某一进程是否关闭:应为这里直接调用的操作系统带的命令,所以可以直接用getInputStream()来获得操作系统的反馈信息。如果调用命令启动另一个java应用,两个java应用互相交互,则getInputStream()就没用了。

Java代码 复制代码
  1. ProcessBuilder pb = new ProcessBuilder("tasklist");   
  2. try {   
  3. Process p = pb.start();   
  4. BufferedReader rb = new BufferedReader(new InputStreamReader(p.getInputStream()));   
  5. String line;   
  6. String storeLine="";   
  7. while((line=rb.readLine())!=null){   
  8. if(line.indexOf("eclipse.exe")!=-1)//过滤进程eclipse.exe的信息   
  9. storeLine = line;   
  10. System.out.println(line);   
  11. }   
  12. //获取进程的pid号   
  13. if(storeLine!=""){   
  14. int beginIndex = storeLine.indexOf("exe");   
  15. int endIndex = storeLine.indexOf("Console");   
  16. String pid = storeLine.substring(beginIndex+3, endIndex).trim();   
  17. System.out.println("this process id is "+pid);   
  18. }else{   
  19. System.out.println("this process is not exist");   
  20. }   
分享到:
评论

相关推荐

    Oracle存储过程调用bat批处理脚本程序

    - `PR_OTHER_SYSTEM_DATA_IMPORT.prc`: 这可能是一个存储过程,用于导入其他系统数据,它可能包含了调用BAT文件以完成数据转换或加载的逻辑。 - `权限.SQL`: 文件名暗示这可能是一个SQL脚本,用于设置执行这些操作所...

    Windows服务监控重启

    总之,Windows服务监控重启是一个关键的系统管理任务,通过编写和使用`.bat`批处理文件,我们可以实现自动化处理,从而减少手动干预,提高IT运维效率。理解并掌握这些技能,对于任何Windows环境的管理员来说都是十分...

    java调用DOS获得系统进程列表

    ### 使用Java调用DOS命令获取系统进程...通过上述步骤,我们可以使用Java调用DOS命令来获取系统的进程列表,这对于系统监控和调试非常有用。同时,还需要注意在实际应用中的一些细节问题,确保代码的稳定性和安全性。

    java执行bat命令碰到的阻塞问题的解决方法

    这个问题通常发生在bat文件执行时间较长,或者bat文件的输出流没有被正确处理时,Java程序会等待bat命令的完成,从而导致主线程被阻塞,直至bat命令执行完毕或服务器关闭。 为了解决这个问题,我们需要理解`Runtime...

    Socket调用服务器bat

    批处理文件是Windows操作系统中的一种脚本文件,用于执行一系列命令。我们将探讨Socket编程的基本概念、批处理文件的应用以及如何将两者结合。 **Socket编程基础知识** Socket是网络编程中的一个抽象概念,它代表...

    java修改tomcat进程名字

    将本文标题“java修改tomcat进程名字”及描述中的核心内容展开,我们可以深入探讨如何在Windows环境下通过修改特定脚本和文件,来实现更改Tomcat进程名称的技术细节。 ### 一、为什么需要修改Tomcat进程名称 在多...

    07.给tomcat进程起别名.docx

    本案例中,用户在Windows环境下安装了多个Tomcat服务,遇到CPU使用率异常升高的情况,但由于多个Java进程同时运行,无法直观地识别出问题所在。为了解决这个问题,我们可以通过为Tomcat进程设置别名来区分各个实例,...

    java_dos_shell_bat

    此外,Java 1.5以后引入的`java.lang.Process`接口提供了更多与子进程交互的方法,如获取进程ID、关闭输入/输出流、等待进程结束等。这些功能使得Java程序可以更好地控制和监控外部命令的执行。 总结来说,Java通过...

    java调用批处理

    在Java编程中,调用批处理操作...总之,Java调用批处理是一个涵盖广泛的主题,从简单的系统调用到复杂的批处理框架,都需要根据实际需求来选择合适的方法。理解这些概念和技术将有助于你编写出高效、可靠的批处理程序。

    性能监控工具arthas的全量安装使用包

    Arthas是一款强大的Java应用程序诊断和监控工具,由Alibaba开源。它提供了丰富的命令行工具,帮助开发者在运行时分析和解决各种问题。这个压缩包包含Arthas的全量安装文件,允许用户全面地使用其功能。让我们逐一...

    sentinel.zip 1.7.2 带启动配置bat文件

    Sentinel 的1.7.2版本包含了启动配置bat文件,这通常意味着它是针对Windows系统设计的,因为bat是Windows操作系统下的批处理脚本文件。 Sentinel 的核心功能包括: 1. **流量控制**:Sentinel 提供了多种流量控制...

    Java 开机启动源码下载

    4. **批处理脚本或Shell脚本**:在Windows和Unix系统中,可以创建批处理文件(`.bat`)或Shell脚本(`.sh`),在其中调用Java命令启动程序,并将其添加到系统的启动目录,以实现开机自启动。 5. **注册表编辑**:在...

    依次启动不同进程的例子

    2. **编程语言**:通过编程语言如Python、Java、C#等,可以编写控制流程的代码,调用操作系统API来启动进程。例如,Python中的os模块提供了`os.system()`或`subprocess.Popen()`函数,可以用来启动新的进程,并控制...

    监视小工具C++做的

    先说说需求:由于我们的程序java调用c++的动态库好像有bug,导致Tomcat会自己崩溃,故开发此程序,实时监控tomcat进程,如果down掉,马上重新启动。 因此这个程序相当于监控程序。 现在,我对其又进行了定制修改。...

    Arthas 全量包,带as.sh和boot

    9. `as.sh`:这是一个Linux或Mac系统的启动脚本,类似于Windows下的`as.bat`,用于启动Arthas服务。 总的来说,Arthas是一个强大的Java开发和运维工具,通过这个全量包,你可以轻松地在本地环境安装并使用它,有效...

    wrapper 部署linux跟window

    Wrapper通常是一个小型的控制程序,它负责调用和管理目标应用,同时处理环境差异、依赖管理和启动参数等问题。 在IT行业中,Wrapper技术常见于Java开发中,如Apache Commons Daemon的Jsvc或Tanuki Software的Java ...

    Tomcat做成服务启动并且在进程中标识出

    然而,对于部署和管理而言,如何将Tomcat作为Windows服务进行安装,并在多实例环境中对各个Tomcat进程进行有效区分,成为了一个重要的技术问题。本文将详细介绍如何实现这一目标。 #### 二、准备工作 在开始之前,...

    自动启动Tomcat_C#_tomcat_

    在这个场景下,我们可能会使用C#编写一个程序来监控Tomcat的状态,并在检测到其关闭时触发重启。 以下是一些关键知识点: 1. **Tomcat服务器**:Tomcat是一款开源的Java Servlet容器,用于运行基于Java的Web应用...

    Aliartha.zip

    7. `arthas-spy.jar`: 用于监控和记录Java应用运行时的信息,例如类加载、方法调用等,有助于调试和性能分析。 8. `as.sh`: 类似于Windows下的启动脚本,这是Linux或Mac系统的启动脚本,用于在这些操作系统上启动...

Global site tag (gtag.js) - Google Analytics