java 调用 windows 的 cmd 命令
2014-01-21 16:12
351 查看
需要爬取的页面,会在每次访问时都在服务器端形成一个excel进程。。。撑不了多久。。服务器就被这些excel进程堵死了,页面根本无法响应。。。。
找到页面的开发商,说是windows的bug。。。没有办法关闭。。。
后来,从高手那里得到了一条windows命令,可以用来在cmd中关闭excel进程:
taskkill -f -im excel.exe
在网上搜一下,看看taskkill的参数,如何关闭远程计算机上的指定进程:
taskkill /s ip /u username /p password -f -im excel.exe
但是高手说,windows的命令,只能以天为单位来定时执行。。。这个周期对于我来讲。。。太长啦。。。。。。。。
再网上搜了下,发现java竟然可以调用本机的命令来执行!
太强大啦~~~~~~~~~
String cmd = "cmd /c taskkill /s ip /u username /p password -f -im excel.exe";
Process process = Runtime.getRuntime().exec(cmd);
注意:
在字符串命令中,最前面一定加上:cmd,如果是windows98、2000,还要写成:command.exe
字符串命令中的/c,表示执行完cmd窗口,将其关闭
这样一来,用java写个线程就OK啦~~~~~~~~~~
放在服务器上,让他每分钟都跑一次~哈哈哈哈哈~
没想到,通过java解决了windows的bug~哈哈~
public void run() {
while(true){
try {
this.execTest();
sleep(1000*60l);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
break;
}
}
}
private void execTest() {
try {
String cmd = "cmd /c taskkill /s ip /u username /p password -f -im excel.exe";
String words = "";
Process process = Runtime.getRuntime().exec(cmd);
boolean flag = false;
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ( (words=bufferedReader.readLine()) != null){
System.out.println(words);
flag = true;
}
if(flag){
System.err.println("*************** 程序执行中。。。请勿关闭!谢谢 ***************");
}
try {
process.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
System.out.println("执行失败");
}
}
找到页面的开发商,说是windows的bug。。。没有办法关闭。。。
后来,从高手那里得到了一条windows命令,可以用来在cmd中关闭excel进程:
taskkill -f -im excel.exe
在网上搜一下,看看taskkill的参数,如何关闭远程计算机上的指定进程:
taskkill /s ip /u username /p password -f -im excel.exe
但是高手说,windows的命令,只能以天为单位来定时执行。。。这个周期对于我来讲。。。太长啦。。。。。。。。
再网上搜了下,发现java竟然可以调用本机的命令来执行!
太强大啦~~~~~~~~~
String cmd = "cmd /c taskkill /s ip /u username /p password -f -im excel.exe";
Process process = Runtime.getRuntime().exec(cmd);
注意:
在字符串命令中,最前面一定加上:cmd,如果是windows98、2000,还要写成:command.exe
字符串命令中的/c,表示执行完cmd窗口,将其关闭
这样一来,用java写个线程就OK啦~~~~~~~~~~
放在服务器上,让他每分钟都跑一次~哈哈哈哈哈~
没想到,通过java解决了windows的bug~哈哈~
public void run() {
while(true){
try {
this.execTest();
sleep(1000*60l);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
break;
}
}
}
private void execTest() {
try {
String cmd = "cmd /c taskkill /s ip /u username /p password -f -im excel.exe";
String words = "";
Process process = Runtime.getRuntime().exec(cmd);
boolean flag = false;
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ( (words=bufferedReader.readLine()) != null){
System.out.println(words);
flag = true;
}
if(flag){
System.err.println("*************** 程序执行中。。。请勿关闭!谢谢 ***************");
}
try {
process.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
System.out.println("执行失败");
}
}
相关文章推荐
- Java调用Windows内cmd命令
- Windows平台Java调用cmd命令执行程序
- Java中调用windows cmd命令的两种方式
- java通过Runtime调用windows的cmd.exe命令
- C/C++ 通过管道的方式调用Windows ping命令 且 不显示黑窗口(cmd 窗口)
- Java调用CMD命令
- JAVA PHP 调用cmd命令
- java调用cmd执行maven命令
- Java 调用cmd.exe命令
- 在windows下使用cmd命令通过adb shell自动调用android模拟或真机的InstrumentRunner进行android 自动化测试
- java调用windows命令,并且获取打印的值。
- Java调用Windows控制台命令
- Java获取Windows CMD窗口执行命令的返回信息【转自国外某网站】
- java中调用cmd命令
- java执行windows下cmd命令的方法
- Java 调用cmd.exe命令
- java执行windows下cmd命令的方法
- java调用windows中的doc命令生成压缩文件
- java 调用系统的cmd命令和其它格式转换为.flv格式实例
- windows 下调用command line(CMD)检查是否安装java(c#实现)