一.以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命令的实现方法的文章就介绍到这了,更多相关java在linux执行shell命令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!