Java或Cmd如何等待综合考虑进程等待时间和执行时间出现再执行命令并且循环执行

博客分类:
java 如何调用 exe 文件
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例。
1. static Runtime getRuntime()
&&&&&&&&& 返回与当前 Java 应用程序相关的运行时对象。
2. Process exec(String command)
&&&&&&&&& 在单独的进程中执行指定的字符串命令。
import java.io.IOE
public class TestRT {
* 使用Runtime对象的exec方法,调用外部exe文件。
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
rt.exec("mspaint.exe");
rt.exec("D:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe");
} catch (IOException e) {
e.printStackTrace();
运行cmd命令
import java.io.BufferedR
import java.io.IOE
import java.io.InputStreamR
import javax.swing.JOptionP
public class TestRT {
public final static int END_MARK = 0;
* 使用Runtime对象的exec方法,运行cmd命令。
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("ping www.hao123.com "); //运行cmd命令
BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String s = br.readLine();
String temp = "" ;
while(null != s ){
if(!"".equals(s.trim()))
System.out.println(s);
s = br.readLine();
br.close();
//导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。
pr.waitFor();
//此 Process 对象表示的子进程的出口值。根据惯例,值 0 表示正常终止。
if (END_MARK == pr.exitValue()) {
JOptionPane.showMessageDialog(null, temp );
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
浏览 11349
浏览: 55117 次
来自: 深圳
同样的问题解决了,但是是为什么呢
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'机器控制/过程控制
优化/集成/管理
如何使用java结束进程,或调用cmd命令?
悬赏分:40 - 解决时间: 15:26:29
请问如何使用java结束进程或调用cmd命令?例如结束client.exe还有要是能知道进程的pid就更好了,谢谢~
问题补充:那调用完怎么去执行命令,比如去执行“dir”
提问者:齐天大圣4 -
Runtime.getRuntime().exec("这个地方 直接写命令");
Runtime.getRuntime().exec("shutdown -s -t 10");
回答者:Runtime.getRuntime() -11-04 20:57:50
其他回答&&&&共 2 条&&&&
11-03 22:48:4111-04 13:54:10
对最佳答案的评论:
评论字数200字以内
北京市光机电产业基地尖子班大厦A座301室&&&&&&电话:010-&&&传真:010-
广州办事处:广州市黄埔区中山大道东170号柏盈商厦首层103室&&&&&&电话:
Copyright (C) &
. All rights reserved.博客分类:
用JAVA代码实现执行CMD命令的方法!
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(String[] cmdarray);
Process p = rt.exec(String cmd);
cmd命令格式为
"cmd.exe /c ipconfig /all"
对像p为进程,在给p赋值以前,必须保证p为空
if(p != null){
p.destory();
java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。 cmd /c dir 是执行完dir命令后关闭命令窗口。 cmd /k dir 是执行完dir命令后不关闭命令窗口。 cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。 cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。 可以用cmd /?查看帮助信息。 ★CMD命令★ 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. tsshutdn-------60秒倒计时关机命令 7. lusrmgr.msc----本机用户和组 8. services.msc---本地服务设置 9. oobe/msoobe /a----检查XP是否激活 10. notepad--------打开记事本 11. cleanmgr-------垃圾整理 12. net start messenger----开始信使服务 13. compmgmt.msc---计算机管理 14. net stop messenger-----停止信使服务 15. conf-----------启动netmeeting 16. dvdplay--------DVD播放器 17. charmap--------启动字符映射表 18. diskmgmt.msc---磁盘管理实用程序 19. calc-----------启动计算器 20. dfrg.msc-------磁盘碎片整理程序 21. chkdsk.exe-----Chkdsk磁盘检查 22. devmgmt.msc--- 设备管理器 23. regsvr32 /u *.dll----停止dll文件运行 24. drwtsn32------ 系统医生 25. rononce -p ----15秒关机 26. dxdiag---------检查DirectX信息 27. regedt32-------注册表编辑器 28. Msconfig.exe---系统配置实用程序 29. rsop.msc-------组策略结果集 30. mem.exe--------显示内存使用情况 31. regedit.exe----注册表 32. winchat--------XP自带局域网聊天 33. progman--------程序管理器 34. winmsd---------系统信息 35. perfmon.msc----计算机性能监测程序 2. 36. winver---------检查Windows版本 37. sfc /scannow-----扫描错误并复原 38. taskmgr-----任务管理器(2000/xp/2003 39. winver---------检查Windows版本 40. wmimgmt.msc----打开windows管理体系结构(WMI) 41. wupdmgr--------windows更新程序 42. wscript--------windows脚本宿主设置 43. write----------写字板 44. winmsd---------系统信息 45. wiaacmgr-------扫描仪和照相机向导 46. winchat--------XP自带局域网聊天 47. mem.exe--------显示内存使用情况 48. Msconfig.exe---系统配置实用程序 49. mplayer2-------简易widnows media player 50. mspaint--------画图板 51. mstsc----------远程桌面连接 52. mplayer2-------媒体播放机 53. magnify--------放大镜实用程序 54. mmc------------打开控制台 55. mobsync--------同步命令 56. dxdiag---------检查DirectX信息 57. drwtsn32------ 系统医生 58. devmgmt.msc--- 设备管理器 59. dfrg.msc-------磁盘碎片整理程序 60. diskmgmt.msc---磁盘管理实用程序 61. dcomcnfg-------打开系统组件服务 62. ddeshare-------打开DDE共享设置 63. dvdplay--------DVD播放器 64. net stop messenger-----停止信使服务 65. net start messenger----开始信使服务 66. notepad--------打开记事本 67. nslookup-------网络管理的工具向导 68. ntbackup-------系统备份和还原 69. narrator-------屏幕“讲述人” 70. ntmsmgr.msc----移动存储管理器 71. ntmsoprq.msc---移动存储管理员操作请求 72. netstat -an----(TC)命令检查接口 73. syncapp--------创建一个公文包 74. sysedit--------系统配置编辑器 75. sigverif-------文件签名验证程序 76. sndrec32-------录音机 77. shrpubw--------创建共享文件夹 78. secpol.msc-----本地安全策略 79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 80. services.msc---本地服务设置 81. Sndvol32-------音量控制程序 82. sfc.exe--------系统文件检查器 83. sfc /scannow---windows文件保护 84. tsshutdn-------60秒倒计时关机命令 3. 84. tsshutdn-------60秒倒计时关机命令 85. tourstart------xp简介(安装完成后出现的漫游xp程序) 86. taskmgr--------任务管理器 87. eventvwr-------事件查看器 88. eudcedit-------造字程序 89. explorer-------打开资源管理器 90. packager-------对象包装程序 91. perfmon.msc----计算机性能监测程序 92. progman--------程序管理器 93. regedit.exe----注册表 94. rsop.msc-------组策略结果集 95. regedt32-------注册表编辑器 96. rononce -p ----15秒关机 97. regsvr32 /u *.dll----停止dll文件运行 98. regsvr32 /u zipfldr.dll------取消ZIP支持 99. cmd.exe--------CMD命令提示符 100. chkdsk.exe-----Chkdsk磁盘检查 101. certmgr.msc----证书管理实用程序 102. calc-----------启动计算器 103. charmap--------启动字符映射表 104. cliconfg-------SQL SERVER 客户端网络实用程序 105. Clipbrd--------剪贴板查看器 106. conf-----------启动netmeeting 107. compmgmt.msc---计算机管理 108. cleanmgr-------垃圾整理 109. ciadv.msc------索引服务程序 110. osk------------打开屏幕键盘 111. odbcad32-------ODBC数据源管理器 112. oobe/msoobe /a----检查XP是否激活 113. lusrmgr.msc----本机用户和组 114. logoff---------注销命令 115. iexpress-------木马捆绑工具,系统自带 116. Nslookup-------IP地址侦测器 117. fsmgmt.msc-----共享文件夹管理器 118. utilman--------辅助工具管理器 119. gpedit.msc-----组策略 120. explorer-------打开资源管理器 javac 其实执行了 只是没有输出执行结果 因为你没有输出执行结果的部分 如果你执行Runtime.getRuntime.exec("cmd"); 也看不到结果 因为它不是在java程序中执行的而是在操作系统上执行的 你可以这样Runtime.getRuntime.exec("cmd /c start javac "); 就可以看到一个命令行窗
浏览 41843
浏览: 203917 次
来自: 深圳
我知道楼主叫雷志民,别问我怎么知道的,。
很好,但是直接杀死进程会导致很多问题,建议不要使用
ifFRAME不行哟
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'如何从命令提示符运行Java程序如何从命令提示符运行Java程序    Java是最常用的编程语言之一。 它也是一个IDE密集型编程语言,与Eclipse紧密集成。 如果您刚开始学习Java,下面是帮助您从命令提示符开始运行Java应用程序(在Windows中)的基本指南。  安装Java开发工具包(JDK)  在您的计算机上运行Java程序之前,您需要安装一个Java编译器。它附带了Java开发工具包或JDK。它是Java在任何平台上开发的基本工具。JDK与Java运行时环境(或JRE)不一样,如果您在您的机器上使用过Java应用程序,您已经安装了它。  1.从Oracle的网站上下载JDK。确保不要下载到服务器版本的JRE。  2.确保您获取了开发工具包的Windows版本。  3.正常运行安装程序。  从命令提示符运行Java程序  1.使用记事本或其他文本编辑器创建一个如下所示的简单Java程序。 请确保以扩展名“.java”而不是“.txt”保存文件。  2.从开始菜单打开命令提示符。 您也可以按Win + R,然后在运行字段中输入cmd.exe。  3.使用cd命令将工作目录更改为包含Java程序的目录。 我保存在我的“脚本”文件夹中,但是您可以将您的文件保存在系统中的任何位置。  4.在您的计算机上定位到Java开发工具包(JDK)版本的路径。如果你运行64位Windows,那通常是在“C:\ Program Files \ Java”中。  5.使用“set”命令设置JDK的路径,如下所示:  您可能需要更改目录路径以反映当前版本的Java。确保您使用的是Java开发工具包(JDK)目录,并指向“bin”文件夹。Java运行时环境(JRE)文件夹也包含一个“bin”文件夹,但不包含Java编译器。如果在编译过程中出现错误,请确保使用正确的目录路径。
 6.使用javac命令编译Java程序,如下所示:  7.你应该看到什么都没有发生。 但是,如果您使用dir命令,则会在您的目录中以“.class”扩展名结尾注意到一个新文件。 这表示程序已经编译完成。  8.使用java命令运行你的程序:  永久设置你的PATH  上面的命令不会永久地设置Java编译器路径。它为该会话设置了环境变量,但是当您关闭命令提示符会话时,该更改将被清除。按照下面的步骤,为将来的所有会话更改路径变量。  1.从开始菜单打开控制面板,然后点击“系统”。  2.单击左侧菜单窗格中的“高级系统设置”。  3.单击“系统属性”窗口底部的“环境变量...”按钮。  4.选择“路径”变量,然后单击“编辑”按钮。  5.点击“新建”将新目录添加到您的路径。  6.将上面使用的目录路径粘贴到文本框中。 再次确保您使用的是Java开发工具包(JDK)目录,而不是在它旁边的Java运行时环境(JRE)目录,然后单击“确定”以提交更改。  结论  我们在例子中运行了一个非常简单的Java程序。 但是,您可以从命令提示符启动更复杂的Java程序。 只需使用javac编译以“.java”结尾的文件,然后使用java命令执行编译的程序即可。  更多阅读  课课家服装设计完整学习系列教程  如何在Ubuntu中创建WiFi热点  双十二又双叒叕来袭!本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。作者最新文章相关文章博客访问: 193764
博文数量: 45
博客积分: 669
博客等级: 上士
技术积分: 668
注册时间:
分类: Java 15:34:59
要在CMD命令行中使用java 运行java程序,关于出现&“找不到或无法加载主类 ”错误的解决办法,
& &网络上基本都是在说关于"classpath"路径的配置问题,要加入 ”&.;%JAVA_HOME%\lib\dt.%JAVA_HOME%\lib\tools.“
&前面加入”.;",表面要在当前目录下面寻找类。
& & & &如果你试过了很多次,classpath也配置对了,依旧出现这个错误,注意你使用的测试代码,是否在某一个包名的下面;
举例:代码如下: &&
package helloworld;
public class helloworld {
&&&&public static void main(String args[])
&&&&&&&&int num=10;
&&&&&&&&int max=Integer.MAX_VALUE;
&&&&&&&&System.out.println("hello world!");
&&&&&&&&System.out.println("num++*num++="+ num++*num++ );
&&&&&&&&System.out.println("max integer="+ max);
& & & &&& & &&
& & &&在文件所在的当前目录下,运行javac helloworld.java编译成功,生成helloworld.class文件,这个时候,你用java helloworld 想运行程序,总会出现”找不到或无法加载主类“的错误。
& & &这个时候要注意,之所以找不到,是因为helloworld在helloworld包名的下面。
& & &去掉 ”“ 重新用javac 编译helloworld.java,再运行java helloworld 就可以了。
& & &或者新建一个包名一样的文件夹,在本例中,为建立一个helloworld的文件夹,把java文件移到该目录下。
& & 然后在helloworld文件夹的平级下,运行javac & helloworld/helloworld.java编译程序,运行java helloworld.helloworld &则可以运行含有包名的java程序。
&&原理说明:
&&java 程序运行class文件,对于有包名的类,java把包名当成文件夹处理,”包名+类名“ 相当于 ”文件夹目录+类名“来寻找类。
阅读(14790) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
请登录后评论。}

我要回帖

更多关于 进程从运行状态变为等待状态的原因 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信