问题描述:
在java中调用Linux命令:
String cmd = "/sbin/route -n"; Runtime.getRuntime().exec(cmd);
命令本身没有问题,但是日志报错 : Cannot run program "/sbin/route -n": error=2, No such file or directory
问题排查:
1. 首先排除命令本身错误
2. 后来怀疑是否是命令受权限影响,后发现也不是权限问题
3. 最后查看源码,发现我调用的这个exec()中的参数是个string数组,注释对params的描述是array containing the command to call and its arguments.即包含要调用的命令及其参数的数组。。。就想试着把命令拆成数组形式 ,,
结果居然真的好使了。。。。