免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11433 | 回复: 19
打印 上一主题 下一主题

第一次mac开发,process waitfor的问题(求解决方案,最好附代码) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-02 16:08 |只看该作者 |倒序浏览
我的苹果系统是osx10.3。java是1.4.2。使用netbeans5.0作为java swing的开发工具。
现在遇到一个问题。我用getRuntime().exec打开一个外部程序,想等这个被打开的程序结束后,继续运行下面的程序。windows低下,我用process.waitfor()。知道被打开程序关闭为止,再执行process.waitfor()后面对的程序。这个语句在windows下有效果。可是在苹果下就没有效果。程序没有等待,而是直接运行process.waitfor()后的程序了。

String filename = "xxxxxxx";--->苹果下要打开的外部程序。
Process process = Runtime.getRuntime().exec.......。打开这个外部程序。
System.out.println("open");
try{
    process.waitfor();让程序等待
    System.out.println("over");被打开的外部程序关闭后,打印输出over。
}catch(InterruptedException e){
}
程序运行后的打印输出结果是:
open
over
这个时候,被打开的程序还没有被关闭。process.waitfor没有发挥作用。

请高手指教一下。我该怎么实现功能。这个功能我在windows底下是可以实现的,运行没有问题。苹果系统下,虽然可以打开外部程序,可是并没有等待外部程序结束。

[ 本帖最后由 alven_lee 于 2007-11-6 17:08 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-11-05 11:43 |只看该作者
难道没有人能回答?

论坛徽章:
0
3 [报告]
发表于 2007-11-05 14:52 |只看该作者
Runtime.exec()运行的外部程序是什么?你自己开发的?系统自带的?具体的命令行是什么?

论坛徽章:
0
4 [报告]
发表于 2007-11-06 14:55 |只看该作者
用exec()启动有什么特殊方法么?直接指定要启动的第三方程序的路径就可以了。windows底下没有问题。可是到苹果系统下waitfor就不起作用了。
版主老大,知道为什么?请教一下,能教教我么?

[ 本帖最后由 alven_lee 于 2007-11-6 14:57 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-11-07 08:53 |只看该作者
我还是不太清楚你执行的命令在Windows上和Mac OS X上是一样的命令行么?很有可能是程序在一个新的进程,或者是后台运行,然后你的命令行就马上退出了

论坛徽章:
0
6 [报告]
发表于 2007-11-07 13:53 |只看该作者
原帖由 sakulagi 于 2007-11-7 08:53 发表
我还是不太清楚你执行的命令在Windows上和Mac OS X上是一样的命令行么?很有可能是程序在创建的一个新的进程中运行,或者是后台运行,然后你的命令行就马上退出了

论坛徽章:
0
7 [报告]
发表于 2007-11-07 13:54 |只看该作者
另外Process.waitFor()在不同的操作系统上确实内部实现是不同的,不过在不清楚你执行的外部程序的命令行的情况下,还是很难判断

论坛徽章:
0
8 [报告]
发表于 2007-11-13 16:27 |只看该作者
明白了。
版主老大,我的程序是这样写的。
Process process = Runtime.getRuntime().exec("open /path/application");
我是这样写的。path是路径,application是程序。就拿ical说吧。用这个语句可以打开ical。但是,process.waitfor(),并不能使进程阻塞。
请老大帮助。

论坛徽章:
0
9 [报告]
发表于 2007-11-16 11:23 |只看该作者
不能用open命令。我手头没有Mac的机器,所以没法实验,不过用open肯定是不行的。

论坛徽章:
0
10 [报告]
发表于 2007-11-17 12:47 |只看该作者
查查UNIX下是如何做的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP