| 
					
				 | 
			
			
				@@ -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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |