LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 690|回复: 2

一个关于Runtime.getRuntim奇怪的问题 帮帮我

[复制链接]
发表于 2005-12-18 22:23:34 | 显示全部楼层 |阅读模式
一个关于Runtime.getRuntim奇怪的问题 帮帮我


我在程序中调用
Runtime.getRuntime().exec("gnome-terminal -e \"/root/aa\"");
正确执行(弹出一个终端 执行/root/aa 程序)

但是在程序中调用
Runtime.getRuntime().exec("gnome-terminal -e \"/usr/local/sbin/bb -i eth0 -t 10.187.82.214 10.187.82.204\"");
就不能执行,什么反应都没有

自己打开一个终端
这两个程序都能正确的执行

错在哪里呢? 仅仅因为 后面程序 执行 参数吗?

哪个高人指点我一下,谢谢
发表于 2005-12-18 23:19:11 | 显示全部楼层
这个是 Java 的问题吧?

你把exception的stackprint 贴出来看看?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-19 15:29:22 | 显示全部楼层
我在linux下,用java掉用C程序。自己打开一个终端,这两个程序都能正确的执行(#/root/aa 和 #/usr/local/sbin/bb -i eth0 -t

10.187.82.214 10.187.82.204)。但是在java中调用它们的时候,有一个程序不能执行,有一个能够执行(弹出一个终端 执行/root/aa 程序

),仅仅是因为参数的问题吗?  大家帮我看看!

try
   {
   Process process=Runtime.getRuntime().exec(cmdstring);
   BufferedReader br=new BufferedReader(new InputStreamReader(process.getInputStream()));
   while(br.readLine()!=null)
   {

   }
   process.waitFor();
   System.out.println(process.exitValue());
   }
   catch(Exception ex)
   {
    System.out.println(ex.toString());
   }

当 cmdstring="gnome-terminal -e \"/root/aa\""
正确执行(弹出一个终端 执行/root/aa 程序)
单步调试的时候
   System.out.println(process.exitValue());
   输出0


但是当
cmdstring="gnome-terminal -e \"/usr/local/sbin/bb -i eth0 -t 10.187.82.214 10.187.82.204\""
就不能执行,什么反应都没有
   单步调试的时候
   System.out.println(process.exitValue());
   输出1
  
为什么?
谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表