Quartz 不能调用Process pr = rt.exec("cmd.exe /k"+ command)

问题描述

工程是javaweb有一个Quartz任务用来调用一个bat文件在Junit中测试这个类中函数通过,但将此函数变为Quartz的一个定时任务时,不能执行rt.execpublicvoidstartcmd(Stringcommand){intEND_MARK=0;Runtimert=Runtime.getRuntime();try{System.out.println("开始执行");//cmd.exe/kjavaProcesspr=rt.exec("cmd.exe/k"+command);//运行cmd命令BufferedReaderbr=newBufferedReader(newInputStreamReader(pr.getInputStream()));Strings=br.readLine();Stringtemp="";while(null!=s){if(!"".equals(s.trim()))temp=s;System.out.println(s);s=br.readLine();}br.close();//导致当前线程等待,如果必要,一直要等到由该Process对象表示的进程已经终止。pr.waitFor();//此Process对象表示的子进程的出口值。根据惯例,值0表示正常终止。System.out.println(pr.exitValue());if(END_MARK==pr.exitValue()){System.out.println("终止");//JOptionPane.showMessageDialog(null,temp);}}catch(IOExceptione){e.printStackTrace();}catch(InterruptedExceptione){e.printStackTrace();}}望求大神指点,什么原因~~谢谢

时间: 2024-08-03 03:48:41

Quartz 不能调用Process pr = rt.exec("cmd.exe /k"+ command)的相关文章

在c#中调用另一个应用程序或命令行(.exe 带参数)

在.net中使用system.diaglostics.Process可以用来调用另一个命令行或程序. using System.Diagnostics; 如果是dos Process.Start("cmd.exe"); 如果是其他文件 Process.Start("绝对路径+文件名.exe"); ------------------------------------ 如何在c#中调用外部dos程序? 使用Process对象: System.Diagnostics.

webservice调用cmd.exe,执行命令调用工具tools.exe,调试可以运行,发布到iis后无法执行

问题描述 各位大小虾,问题如下:在webservice中调用cmd.exe,执行一段命令来调用一个工具(tools.exe参数1参数2)调试时成功执行,并且可以弹出工具界面,但是发布到IIS7.5后就执行不了了,tools.exe进程在任务管理器有,但是没有执行内容.麻烦各位大小虾帮忙把把脉,是啥问题呢?多谢了 解决方案 解决方案二:webservice是运行在服务器的,你弹个界面出来给谁看啊,谁也看不到的,解决方案三:你发布到服务端后,服务端也是按你希望的执行了,只不过是在服务器上--解决方案

Android读取外部存储卡停止Process process = Runtime.getRuntime().exec("df");

问题描述 使用自己的代码执行操作外部存储卡时,能够正常操作,代码如下:Processprocess=Runtime.getRuntime().exec("df");is=process.getInputStream();isReader=newInputStreamReader(is);bufferReader=newBufferedReader(isReader);StringstrLine=null;Patternpattern=Pattern.compile("[/\w

JavaScript中调用Reference Win RT组件首字母必须小写

我们知道通过Visual Studio 2012可以创建C++#,VB和C++语言的Windows RT组件,供其他Windows Store的应用来调用.但有一点要注意就是http://www.aliyun.com/zixun/aggregation/33906.html">JavaScript编写的Store应用Reference Win RT组件的Property和Method时,首字母必须是小些的.不论在Win RT组件定义时大小写如何. 比如有个 C#编写的WinRT组件类申明如

c++调用c库函数-c++调用c的静态库链接错误。使用extern "C"无法解决!

问题描述 c++调用c的静态库链接错误.使用extern "C"无法解决! c++中调用一个c的第三方音频处理库.在c++类成员函数中调用c的函数.库的头文件并未考虑和c++兼容的问题.我在c++头文件内使用extern "C"{} ,大括号内不管是包含c的头文件,还是声明c的函数,都无法解决问题.百度谷歌都是这个办法,请大家帮帮忙.环境: mac os xcode 解决方案 不仅"声明c的函数"要用 extern "C"{}

C#调用存储过程,"参数名/列表"错误??????急急急急急急!!!在线等!!!!!!

问题描述 oracle存储过程:createorreplaceprocedureP_USERLOGIN(sysuseridinvarchar2,sysuserpwdinvarchar2)asicountnumber;--定义查询到符合记录的条数beginselectcount(*)intoicountfromT_SYS_USERINFOwhereUSERID=sysuseridandUSERPWD=sysuserpwd;ificount>1thenicount:=1;elseicount:=0;

Windows系统中Java调用cmd命令及执行exe程序的方法_java

Java调用cmd命令,并输出显示信息: package com.anxin.cmd.test; import java.io.BufferedReader; import java.io.InputStreamReader; public class Command { public static void main(String[] args) { try { Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("cmd /c di

Amazon API Gateway Importer整合过程小结

(1)需要将swagger json转换成amazon api gateway 所需要的格式(根据Method Request中 Request PathsURL Query String ParametersHTTP Request Headers --->  Integration Request 中对应的: URL Path ParametersURL Query String ParametersHTTP Headers )并在Integration Request中填写接口的相对应的信

C#中利用process类调用外部程序以及执行dos命令

程序|执行 c#中的Process类可方便的调用外部程序,所以我们可以通过调用cmd.exe程序 加入参数 "/c " + 要执行的命令来执行一个dos命令(/c代表执行参数指定的命令后关闭cmd.exe /k参数则不关闭cmd.exe)  1         private string RunCmd(string command)     2         { 3             //實例一個Process類,啟動一個獨立進程 4             Process