|  | @@ -0,0 +1,41 @@
 | 
	
		
			
				|  |  | +package com.ruoyi.sim.service.impl;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import org.slf4j.Logger;
 | 
	
		
			
				|  |  | +import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | +import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.io.BufferedReader;
 | 
	
		
			
				|  |  | +import java.io.IOException;
 | 
	
		
			
				|  |  | +import java.io.InputStreamReader;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +@Service
 | 
	
		
			
				|  |  | +public class CmdService {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private static final Logger l = LoggerFactory.getLogger(CmdService.class);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * java-service [项目名称] [start|stop|restart]
 | 
	
		
			
				|  |  | +     * java-service ruoyi-admin restart
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public void restart() {
 | 
	
		
			
				|  |  | +        // 定义要执行的命令
 | 
	
		
			
				|  |  | +        String command = "java-service ruoyi-admin restart";
 | 
	
		
			
				|  |  | +        // 使用 ProcessBuilder 执行命令
 | 
	
		
			
				|  |  | +        ProcessBuilder processBuilder = new ProcessBuilder(command.split(" "));
 | 
	
		
			
				|  |  | +        try {
 | 
	
		
			
				|  |  | +            // 启动进程
 | 
	
		
			
				|  |  | +            Process process = processBuilder.start();
 | 
	
		
			
				|  |  | +            // 获取命令的输出
 | 
	
		
			
				|  |  | +            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
 | 
	
		
			
				|  |  | +            String line;
 | 
	
		
			
				|  |  | +            while ((line = reader.readLine()) != null) {
 | 
	
		
			
				|  |  | +                l.info("line = {}", line);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            // 等待命令执行完成
 | 
	
		
			
				|  |  | +            int exitCode = process.waitFor();
 | 
	
		
			
				|  |  | +            l.info("命令执行完成,退出码:" + exitCode);
 | 
	
		
			
				|  |  | +        } catch (InterruptedException | IOException e) {
 | 
	
		
			
				|  |  | +            e.printStackTrace();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |