求大神指教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"};
如上面一样我写了一个重启的代码执行失败然后我把重启的命令写入一个脚本中来执行也是失败。请问各位大神这是什么情况,还有怎么解决? 展开
final String[] cmd=new String[]{"sudo","service network restart"};
final String[] cmd=new String[]{"/bin/sh","-c","/home/cs/kf/XM/EyeOfSauron/EthRestarts.sh"};
如上面一样我写了一个重启的代码执行失败然后我把重启的命令写入一个脚本中来执行也是失败。请问各位大神这是什么情况,还有怎么解决? 展开
2个回答
展开全部
程序里面sudo是没用的,因为sudo需要输入密码(PS:除非配置了当前用户sudo不用密码),所以一般最好的解决办法就是用root的身份运行这段java代码
更多追问追答
追问
我的sudo已经设置成不用输密码的了,可是也不行。如果是直接用root的话安全性有不高所以我不想用root身份
追答
如果sudo已经正确的设置了不用密码,那应该是没问题的,你可以把命令执行的输出结果打印出来看看失败的原因。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-03-01
展开全部
在要执行的命令前面加上sudo,但由于要输入密码,所以要用下面的格式,直接把密码输入进去:
格式:echo '你的密码'|sudo -S 执行命令
格式:echo '你的密码'|sudo -S 执行命令
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询