diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java index e3bd401393..82c9be9f0e 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/task/AbstractCommandExecutor.java @@ -162,7 +162,12 @@ public abstract class AbstractCommandExecutor { exitStatusCode = updateState(processDao, exitStatusCode, pid, taskInstId); } else { - cancelApplication(); + TaskInstance taskInstance = processDao.findTaskInstanceById(taskInstId); + if (taskInstance == null) { + logger.error("task instance id:{} not exist", taskInstId); + } else { + ProcessUtils.kill(taskInstance); + } exitStatusCode = -1; logger.warn("process timeout, work dir:{}, pid:{}", taskDir, pid); }