软件编程
位置:首页>> 软件编程>> java编程>> java在linux本地执行shell命令的实现方法

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

作者:纯洁的小魔鬼  发布时间:2023-11-14 02:31:33 

标签:java,执行,shell命令

一.以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在linux本地执行shell命令的实现方法

来源:https://blog.csdn.net/xyy1028/article/details/91349697

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com