Process process = Runtime.getRuntime().exec(cmd);
我使用上面的语句来启动一个外部的已打好包的可执行jar包,请问怎么才能知道该程序已经正常启动,程序中是否需要添加什么代码。
我使用上面的语句来启动一个外部的已打好包的可执行jar包,请问怎么才能知道该程序已经正常启动,程序中是否需要添加什么代码。
解决方案 »
- java截取字符串问题,请高手帮忙啊!在线等待!!!!!!!!!!
- Jfreechart拆线图问题
- getRemoteSocketAddress()类型问题
- 谁能帮我看一下这段代码?有什么错?
- 我是新手,想问一下JDK和SDK的区别是什么,谢谢大家~!!!
- 急!java socket怎样读取不定长包?
- 关于dialog的问题 100分
- 有人用过Oracle9i AS吗?
- 如何把int变成4个byte,然后又能把这4个byte变回一个int??? 求救!!!
- 各位老师帮忙看下我分析的对不对??谢谢。
- cannot convert from boolean to String
- 一个困惑的问题 想不出来啊~~求救
楼主【xuehan1983】截止到2008-06-30 13:04:05的历史汇总数据(不包括此帖):
发帖数:23 发帖分:790
结贴数:22 结贴分:770
未结数:1 未结分:20
结贴率:95.65 % 结分率:97.47 %
值得尊敬
Process p = Runtime.getRuntime().exec(cmdline);
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line); //可以在这里读取他的启动信息,然后判断是否正常启动
}
input.close();
也可以获取系统活动进程列表是否包含该进程来判断是否正常启动,后者是用dos命令的调用。
监控进程结束的方法:为每个启动的进程开一个线程,然后在线程内调用 Process.waitFor() 方法,在进程结束前,你开的线程会一致等待 waitFor() 方法返回,再为每个进程设置一个标志变量,初值表示进程正在运行,当 waitFor() 方法返回后再改变此标志变量的值,这样就可以通过这个标志变量来判断进程的状态了。