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