求大神指教java中Runtime.getRuntime().exec(cmd);如何执行有root权限的命令? 100

操作系统:Centos6.5JDK:jdk1.8.0_92myelipse:2014所属用户组:普通finalString[]cmd=newString[]{"sudo"... 操作系统:Centos6.5 JDK:jdk1.8.0_92 myelipse:2014 所属用户组:普通
final String[] cmd=new String[]{"sudo","service network restart"};
final String[] cmd=new String[]{"/bin/sh","-c","/home/cs/kf/XM/EyeOfSauron/EthRestarts.sh"};
如上面一样我写了一个重启的代码执行失败然后我把重启的命令写入一个脚本中来执行也是失败。请问各位大神这是什么情况,还有怎么解决?
展开
 我来答
longge761001654b3
2016-07-07 · TA获得超过1067个赞
知道小有建树答主
回答量:356
采纳率:66%
帮助的人:184万
展开全部
程序里面sudo是没用的,因为sudo需要输入密码(PS:除非配置了当前用户sudo不用密码),所以一般最好的解决办法就是用root的身份运行这段java代码
更多追问追答
追问
我的sudo已经设置成不用输密码的了,可是也不行。如果是直接用root的话安全性有不高所以我不想用root身份
追答
如果sudo已经正确的设置了不用密码,那应该是没问题的,你可以把命令执行的输出结果打印出来看看失败的原因。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-03-01
展开全部
在要执行的命令前面加上sudo,但由于要输入密码,所以要用下面的格式,直接把密码输入进去:
格式:echo '你的密码'|sudo -S 执行命令
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式