尝试写一个OJ平台,gcc编译cpp文件生成的文件,java代码中Runtime.getRuntime().exec() 执行不了

1.先用gcc编译c++代码,gcc /home/exec/a.cpp -lstdc++ -o /home/exec/a
2.java调用 Runtime.getRuntime().exec(" /home/exec/a") 。这里没法执行。
但是在linux上[root@iZbp18ij71z8gj841p7higZ exec]# /home/exec/a 运行,却可以执行。
a文件已经赋权777 。

  1. Runtime.getRuntime().exec执行也没有返回结果。

使用如下方法:


String [] cmd={"/bin/sh","-c","chmod 755  /home/exec/a","/home/exec/a"};
Runtime.getRuntime().exec(cmd);

如果你已经设置了a的权限,"chmod 755 /home/exec/a"这一个字符串可以不要。

String [] cmd={"/bin/sh","-c","/home/exec/a"};
Runtime.getRuntime().exec(cmd);

可以看看下面这篇文章中的说明,应该对你有帮助

/home/exec/a,这是linux的路径,windows要改带盘符的路径,如d:/home/exec/a