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如何调用WINDOWS命令行 用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令
用Java实现的copy命令,类似windows命令行的copy命令,能够给复制任何类型文件
NULL 博文链接:https://thinktothings.iteye.com/blog/1435296
java调用执行系统命令的工作类。包括在Linux和windows系统,已经系统错误输出流的监控。
用java语言实现windows dos的调用,通过输入dos命令,执行相应的结果
java ping ip ping命令 ping工具类 支持linux和windows等所有平台 Ping是Windows下的一个命令 在Unix和Linux下也有这个命令。 ping也属于一个通信协议,是TCP/IP协议的一部分 利用“ping”命令可以检查网络是否连通...
在Windows下运行Java程序时,黑屏幕经常很容易被人关闭,于是写了一个EXE程序包装一下。 运行Dos命令执行Java -jar xxx.jar时,输出内容可见。可自定义运行Dos命令,运行后自动最小化右下角到任务栏,关闭时要确认...
主要介绍了java执行windows下cmd命令的方法,较为详细的说明了Java执行Windows下CMD命令的方法,并总结了常用的CMD命令供大家参考,需要的朋友可以参考下
1、通过java调用Python命令执行datax任务调度 2、自动开始任务和调度结束关闭任务调度释放内存 3、如果我们在cmd使用命令调度,执行完毕后无法释放内存,会造成内存泄露不足,出现报错“Error occurred during ...
NULL 博文链接:https://913.iteye.com/blog/1485809
主要介绍了java运行windows的cmd命令简单代码,有需要的朋友可以参考一下
该代码实现了在远程windows主机上 获取进程列表 及进程对应的端口;使用wmi4j 连接远程主机获取进程列表,创建文件夹、共享文件夹、执行netstat -ano输出到aa.txt...即实现远程执行cmd命令获取命令执行的结果的效果。
最新版windows graalvm-ce-java11-windows-amd64-20.3.0.zip最新版windows graalvm-ce-java11-windows-amd64-20.3.0.zip
主要介绍了java执行bat命令碰到的阻塞问题的解决方法,有需要的朋友可以参考一下
windows 系统下启动与结束java的jar包的脚本(包括如何设置进程名称)
NULL 博文链接:https://blackbaby.iteye.com/blog/882732
NULL 博文链接:https://jisonami.iteye.com/blog/2181810
java虚拟机配置 在默认情况下,程序启动时会使用自身的jre(以下所说的jar为java虚拟机1.6.0以上版本,低版本则无法启动程序)。 在主目录(安装目录、程序所在的目录)的“jre1.6”目录下,如果没有则需要在主目录...
windows运行jar包指定jdk路径的脚本文件。可以不用系统的jdk运行,指定某个文件下的jdk运行jar包