Я являюсь администратором кластера, работающего на CentOS, и использую SLURM для отправки заданий с узла входа на вычислительные узлы. Недавно пользователь пожаловался на неожиданное поведение на своей работе. Если пользователь начинает работу с srun
а затем выходит из системы, задание продолжает выполняться должным образом. Однако, когда пользователь отключается по таймауту SSH, задание прекращается. Я воспроизвел это поведение, убив оболочку, выполняющую задание, используя kill -1 ShellJobID
и работа убита. Изучение журналов SLURM показывает, что задание действительно получило SIGKILL
а не SIGHUP
на основе линии WSIGTERM 9
. Кроме того, если я бегу kill -1 ActiveSrunJob
, рабочие места заканчиваются WSIGTERM 9
. А как насчет выхода из системы с помощью exit
предотвращает отмену задания SLURM? Я был под впечатлением, и исследования, кажется, подтверждают это, SIGHUP
распространяется потомкам оболочки при выходе из системы. Я что-то упускаю или полностью не в базе?