1 启动一个java程序并输出日志:
List<String> commadList = new ArrayList<String>();
commadList.add("cmd");
commadList.add("/c");
commadList.add("java -Dfile.encoding=GBK -classpath ./;classes;bin;lib/system/*;lib/user/*;lib/* -XX:PermSize=256m -XX:MaxPermSize=512m -Xms512m -Xmx512m com.sunline.flowbank.cr.core.CRMain");
commadList.add("start");
commadList.add(subsysid);
logger.info("开始启动" +obj.getSubsysId() +"子系统!" );
ProcessBuilder pbuilder = new ProcessBuilder(commadList);
pbuilder.directory(new File(projPath));
proc = pbuilder.start();
2 关闭一个进程并输出日志
if( "".equals(obj.getProcId()))
{
cmd = "cmd /c wmic process where caption=\"java.exe\" get commandline,processid | findstr /C:\"CRMain start "+obj.getSubsysId()+"\"";
}else
{
cmd = "cmd /c wmic process where \"caption='java.exe' and processid='"+obj.getProcId()+"'\" get processid | findstr \""+obj.getProcId()+"\"";
}
Process proc = Runtime.getRuntime().exec(cmd);
InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "GBK");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
logger.info(line);
//if(!line.equals(""))
//System.out.println( line.substring(line.lastIndexOf("CRMain start test")+"CRMain start test".length(),line.length()).trim());
if(!line.equals(""))
{
obj.setProcId(line.trim());
for(SubsysObj subtmp : subsylist)
{
if(subtmp.equals(obj))
obj.setMsg(subtmp.getMsg());
}
return true;
}
obj.setProcId("");
}
3 dos下查看和杀死进程
查看进程是否在运行
tasklist /nh|find /i "进程名.exe"
ps:双引号中的进程名也可以是部分匹配
杀进程:
taskkill /im 进程名
taskkill /pid 进程序号 -t(结束该进程) -f(强制结束该进程以及所有子进程)
wmic process where name="进程名" call terminate
ntsd -c p -p 进程序号
ps:第一种和第三种可同时关闭多个进程名相同的进程
4 查询一个端口是否开启
netstat -aon|findstr 端口号
相关推荐
在Java编程中,有时我们需要在程序中调用Windows系统的命令行操作,例如执行外部程序、系统命令或者进行文件操作。Java提供了Runtime类和Process类来实现这一功能。以下是如何使用Java调用Windows命令行的详细步骤和...
在Java编程环境中,有时我们...不过,根据标题和描述,这个文件很可能包含了一个示例,演示了如何在Java中使用`ProcessBuilder`执行Windows系统命令。如果你能提供代码内容,我可以进一步解释和扩展相关的编程知识点。
总结,通过Java调用Windows CMD命令,我们可以方便地执行系统级任务,实现与操作系统的交互。`FileProcessInShell.java`可能就是这样一个例子,它演示了如何在Java程序中执行和处理CMD命令的输出。在实际开发中,...
这个方法允许Java程序在运行时执行外部程序或命令。例如,如果我们要在CMD中打开一个.doc文件,可以这样做: ```java String command = "wordpad.exe path_to_your_file.doc"; try { Process p = Runtime....
Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...
在Java编程中,有时我们需要执行操作系统级别的任务,如运行DOS命令。这通常涉及到使用`Runtime`类的`exec()`方法。`Runtime.getRuntime().exec()`允许我们创建一个子进程来执行指定的命令或可执行程序。这个过程...
用Java实现的copy命令,类似windows命令行的copy命令,能够给复制任何类型文件
java的windows启动脚本
通常,开发者会使用一个名为“服务包装器”(如`wapper安装windows 32bit 服务`所暗示的)的工具,它是一个可执行文件,能够将Java应用作为Windows服务来管理。服务包装器可以处理启动、停止、监视以及错误处理等...
下面将详细介绍如何使用shell脚本(适用于Unix/Linux系统)和bat脚本(适用于Windows系统)来运行Java程序。 **shell脚本运行Java程序** 在Unix/Linux环境中,我们可以创建一个.sh文件作为shell脚本来执行Java程序...
java调用执行系统命令的工作类。包括在Linux和windows系统,已经系统错误输出流的监控。
本文将深入探讨如何使用Java执行DOS命令,并给出具体示例。 首先,`Runtime`类是每个Java应用程序都有的一个实例,它允许程序与正在执行它的环境进行交互。我们可以通过`Runtime.getRuntime().exec()`方法来执行DOS...
第二行`java -jar testjar.jar`是实际运行Java程序的命令,`-jar`参数告诉Java虚拟机(JVM)去执行指定的JAR文件,即`testjar.jar`。 在执行这个批处理文件之前,确保系统环境变量`JAVA_HOME`和`PATH`已正确设置。`...
在Windows操作系统中,Java服务是通过Java的Java Service Wrapper(JSW)或者Windows服务宿主(Service Host,svchost.exe)来实现后台运行的。这些服务通常用于提供持续的系统功能,例如Web服务器、数据库连接或...
在这个场景下,我们可以利用 Java 编写的程序来调用 PowerShell 命令,实现对 Windows 的各种操作。 首先,让我们详细了解如何通过 Java 调用 PowerShell 脚本: 1. **调用 PowerShell 命令**: 在 Java 中,我们...
Java操作DOS命令主要指的是通过Java程序调用操作系统(如Windows、Linux等)的命令行接口,执行系统级别的操作。这种技术在很多场景下都非常实用,例如自动化测试、系统管理或者进行一些系统级别的数据处理。下面...
`nircmd.exe`是一个强大的命令行工具,由NirSoft公司开发,它提供了一系列实用的命令,可以帮助我们执行一些Windows系统的操作。在管理员权限场景下,我们可以利用它的`elevate`命令来提升程序的执行权限。在Java...