linux下Runtime.getRuntime()执行问题

普凡 2012-09-13 09:30:09
我这边有一个程序,之前在windows下执行没有任何问题,今日放到linux系统服务器上跑,以下程序总是超时,我感觉肯定和操作系统有关系,希望有经验的大牛指导一下,共勉,谢谢:

public static void main(String[] args) {
try {
long fromDate = System.currentTimeMillis();
Process process = Runtime.getRuntime().exec("java gx.RegistClient");
long thruDate = System.currentTimeMillis();
boolean finish = false;
while ((thruDate - fromDate < 120000) && !finish) {
try {
int ret = process.exitValue();
System.out.println("exec cmd result process: " + ret);//这里总是反回 1,我觉得和操作系统控制进程有关?
if (ret == 0) finish = true;
} catch (Exception e) {
System.err.println("exec cmd err: " + e.getMessage());
}
Thread.sleep(500);
thruDate = System.currentTimeMillis();
}
System.out.println("========================总是时间超时,即thruDate - fromDate >120000 跳出while===========================>");
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
System.out.println(sb.toString());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}



...全文
416 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
普凡 2012-09-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

在 classpath 下的话,可以直接使用 java 类调用其中的 main 方法不就行了?
[/Quote]

是这个道理,但是我们这个项目吧,有点特殊,这个jar或者说功能就是给一个地方做的,不太想牵扯到产品代码本身,所以就用了这种方式。
之前的问题已经解决了,是由于AIX系统的classpath有问题(可是aix命令行没问题),我加上-cp直接指定了。
谢谢指点,结贴了
普凡 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

java 里面调用 java 虚拟机,亏你想得出来啊?
[/Quote]

不是,我是调用另外一个配置在classpath下的插件jar,他会做一些事情,通过io返回给我字符数据。
在windows可行。至于您说的这个调用,会产生什么大的影响?process.exitValue();一直返回1,和这个有关系吧?
  • 打赏
  • 举报
回复
在 classpath 下的话,可以直接使用 java 类调用其中的 main 方法不就行了?
amdgaming 2012-09-14
  • 打赏
  • 举报
回复
牛啊 啊



  • 打赏
  • 举报
回复
java 里面调用 java 虚拟机,亏你想得出来啊?
普凡 2012-09-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

我的博客文章已转载 http://blog.sina.com.cn/s/blog_6f8f7b9701013oya.html
[/Quote]

你转载啥了???

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧