java运行linux命令

public static String runcmd(String cmdline) {

// String userpswd = SystemConfiguration.getValue("userpswd"); 
// String cmd = "echo " +"\"" + userpswd + "\"" + " | sudo reboot";
// String cmd = "ps -aux | grep java";
// String cmd = "sudo reboot";
String cmd = cmdline;


List<String> command = new ArrayList<>();
command.add("/bin/sh");// this is good
command.add("-c"); 
command.add(cmd);

try {
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectErrorStream(true);
Process process = builder.start();
LineNumberReader ir = new LineNumberReader(
new InputStreamReader(process.getInputStream(), Charset.forName("UTF8")));
String line;
StringBuilder sb = new StringBuilder();
while ((line = ir.readLine()) != null) {
sb.append(line);
}

if (process.isAlive()) {
process.waitFor();
}
return sb.toString();

} catch (Exception e) {
e.printStackTrace();
return e.getMessage();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值