Loading escheduler-common/src/main/java/cn/escheduler/common/utils/OSUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -220,7 +220,7 @@ public class OSUtils { * @throws IOException */ public static String exeShell(String command) throws IOException { return ShellExecutor.execCommand("groups"); return ShellExecutor.execCommand(command); } /** Loading escheduler-server/src/main/java/cn/escheduler/server/utils/ProcessUtils.java +22 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package cn.escheduler.server.utils; import cn.escheduler.common.Constants; import cn.escheduler.common.utils.CommonUtils; import cn.escheduler.common.utils.OSUtils; import cn.escheduler.dao.model.TaskInstance; import cn.escheduler.server.rpc.LogClient; import org.apache.commons.io.FileUtils; Loading @@ -33,6 +34,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * mainly used to get the start command line of a process */ Loading Loading @@ -139,6 +141,8 @@ public class ProcessUtils { {' ', '\t', '<', '>'}, {' ', '\t'}}; private static Matcher matcher; private static String createCommandLine(int verificationType, final String executablePath, final String[] cmd) { StringBuilder cmdbuf = new StringBuilder(80); Loading Loading @@ -256,7 +260,7 @@ public class ProcessUtils { return ; } String cmd = String.format("sudo kill -9 %d", processId); String cmd = String.format("sudo kill -9 %s", getPidsStr(processId)); logger.info("process id:{}, cmd:{}", processId, cmd); Loading @@ -270,6 +274,23 @@ public class ProcessUtils { } } /** * get pids str * @param processId * @return * @throws Exception */ private static String getPidsStr(int processId)throws Exception{ StringBuilder sb = new StringBuilder(); // pstree -p pid get sub pids String pids = OSUtils.exeCmd("pstree -p " +processId+ ""); Matcher mat = Pattern.compile("(\\d+)").matcher(pids); while (mat.find()){ sb.append(mat.group()+" "); } return sb.toString().trim(); } /** * find logs and kill yarn tasks * @param taskInstance Loading Loading
escheduler-common/src/main/java/cn/escheduler/common/utils/OSUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -220,7 +220,7 @@ public class OSUtils { * @throws IOException */ public static String exeShell(String command) throws IOException { return ShellExecutor.execCommand("groups"); return ShellExecutor.execCommand(command); } /** Loading
escheduler-server/src/main/java/cn/escheduler/server/utils/ProcessUtils.java +22 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package cn.escheduler.server.utils; import cn.escheduler.common.Constants; import cn.escheduler.common.utils.CommonUtils; import cn.escheduler.common.utils.OSUtils; import cn.escheduler.dao.model.TaskInstance; import cn.escheduler.server.rpc.LogClient; import org.apache.commons.io.FileUtils; Loading @@ -33,6 +34,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * mainly used to get the start command line of a process */ Loading Loading @@ -139,6 +141,8 @@ public class ProcessUtils { {' ', '\t', '<', '>'}, {' ', '\t'}}; private static Matcher matcher; private static String createCommandLine(int verificationType, final String executablePath, final String[] cmd) { StringBuilder cmdbuf = new StringBuilder(80); Loading Loading @@ -256,7 +260,7 @@ public class ProcessUtils { return ; } String cmd = String.format("sudo kill -9 %d", processId); String cmd = String.format("sudo kill -9 %s", getPidsStr(processId)); logger.info("process id:{}, cmd:{}", processId, cmd); Loading @@ -270,6 +274,23 @@ public class ProcessUtils { } } /** * get pids str * @param processId * @return * @throws Exception */ private static String getPidsStr(int processId)throws Exception{ StringBuilder sb = new StringBuilder(); // pstree -p pid get sub pids String pids = OSUtils.exeCmd("pstree -p " +processId+ ""); Matcher mat = Pattern.compile("(\\d+)").matcher(pids); while (mat.find()){ sb.append(mat.group()+" "); } return sb.toString().trim(); } /** * find logs and kill yarn tasks * @param taskInstance Loading