|
我在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
为什么?
谢谢 |
|