java在linux本地执行shell命令的实现方法
时间:2023-01-06 09:03:58|栏目:JAVA代码|点击: 次
一.以springboot为例,建立代码
1.IExecCommandServer:
public interface IExecCommandServer { void execCommand(String cmd); }
2.ExecCommandServerImp:
@Service public class ExecCommandServerImp implements IExecCommandServer { @Override public void execCommand(String cmd){ try{ Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(cmd,null,null); InputStream stderr = proc.getInputStream(); InputStreamReader isr = new InputStreamReader(stderr,"GBK"); BufferedReader br = new BufferedReader(isr); String line=""; while ((line = br.readLine()) != null) { System.out.println(line); } }catch (Exception e){ e.printStackTrace(); } } }
3.ExecCommandController:
@CrossOrigin @RestController @RequestMapping("/linux") public class ExecCommandController { @Autowired private IExecCommandServer execCommandServer; @GetMapping("/exec") public ResultMap execCommand(String cmd) throws Exception { execCommandServer.execCommand(cmd); return Result.success("ok"); } }
二,执行示例
http://192.168.142.222:8086/linux/exec?cmd=ls /mnt
日志中输出:
上一篇:执行java请求时导致在脚本执行结束时JVM无法退出
栏 目:JAVA代码
本文标题:java在linux本地执行shell命令的实现方法
本文地址:http://www.codeinn.net/misctech/223065.html