信息发布→ 登录 注册 退出

java在linux本地执行shell命令的实现方法

发布时间:2026-01-11

点击量:
目录
  • 一.以springboot为例,建立代码
    • 1.IExecCommandServer:
    • 2.ExecCommandServerImp:
    • 3.ExecCommandController:
  • 二,执行示例

    一.以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

     日志中输出:

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!