Java有什么方法可以不要以子进程的方式运行外部程序? Java有什么方法可以不要以子进程的方式运行外部程序?因为只有我运行的程序关闭后,我的Java程序才能退出!如何才能不是子进程? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【myplxdm】截止到2008-06-26 17:56:07的历史汇总数据(不包括此帖):发帖数:36 发帖分:1220 结贴数:36 结贴分:1220 未结数:0 未结分:0 结贴率:100.00% 结分率:100.00% 敬礼! 你有被调程序的API和类库吗?(xp下的DLL,EXE文件以及调用文档等)如有,试过java本地接口(JNI)了吗? 我现在是用Java去调用另外一个EXE,由这个EXE再去执行我想执行的程序,在EXE中是异步的。没办法就是麻烦 我没试过,如果确实有要求,我的提供的研究思路如下(不保证成功哦):1、如有EXE的api,看看这个api能否给你程序结束的调用(应该是回调callback),如有,对这个回调建立JNI即可;2、如果没有EXE的api,可以考虑操作系统的接口,exe应该是windows平台上的,每一个windows程序启动后,至少都会在windows任务管理器中留下显示为一个进程,如果能找到任务管理器的api接口,在就可以对这个接口建立JNI,程序中定期(例如每100毫秒)检查一下这个进程是否存在,只有没发现进程时,才提供退出程序的接口。 1、如有EXE的api,看看这个api能否给你程序结束的调用(应该是回调callback),如有,对这个回调建立JNI即可; 这个似乎可行,不过我不知道怎么做 调用EXE可以String[] cmd = {"exe绝对路径","参数。。"};Runtime rt = Runtime.getRuntime();Process process = rt.exec(cmd);process.waitFor(); 如果要用JIN我觉得写一个非常简单的执行EXE就可以了,只要一句代码就行。Java本身应该不支持独立进程的创建 你这个是直接用外部程序,java是控制不了的,你可以试试,再打开任务管理器看看 极简单的问题:参数中的Class<?>是什么意思? 高手!求助!!! 关于JUNIT问题,请教专家 这是怎么回事呀? Ireport开发报表页面设置问题 高手进 怎样写这样的正则表达式 关于arraylist的问题,各位看看 Java 日期选择控件 DateChooser (推荐) Java与xml 那位可以贴出自己的路径设置吗 还是iReport的问题:无法确定左边有多少组 GUI与内部数据处理线程交互的问题
楼主【myplxdm】截止到2008-06-26 17:56:07的历史汇总数据(不包括此帖):
发帖数:36 发帖分:1220
结贴数:36 结贴分:1220
未结数:0 未结分:0
结贴率:100.00% 结分率:100.00%
敬礼!
2、如果没有EXE的api,可以考虑操作系统的接口,exe应该是windows平台上的,每一个windows程序启动后,至少都会在windows任务管理器中留下显示为一个进程,如果能找到任务管理器的api接口,在就可以对这个接口建立JNI,程序中定期(例如每100毫秒)检查一下这个进程是否存在,只有没发现进程时,才提供退出程序的接口。
这个似乎可行,不过我不知道怎么做
String[] cmd = {"exe绝对路径","参数。。"};
Runtime rt = Runtime.getRuntime();
Process process = rt.exec(cmd);
process.waitFor();
Java本身应该不支持独立进程的创建