
Ich bin der Administrator eines Clusters, der unter CentOS läuft und SLURM verwendet, um Jobs von einem Anmeldeknoten an Computerknoten zu senden. Kürzlich hat sich ein Benutzer über unerwartetes Verhalten seiner Jobs beschwert. Wenn ein Benutzer einen Job mit startet srun
und sich dann abmeldet, wird der Job wie erwartet weiter ausgeführt. Wenn die Verbindung des Benutzers jedoch durch ein SSH-Timeout getrennt wird, wird der Job beendet. Ich habe dieses Verhalten reproduziert, indem ich eine Shell beendet habe, auf der ein Job mit ausgeführt wird, kill -1 ShellJobID
und der Job beendet wurde. Die Untersuchung der SLURM-Protokolle zeigt, dass der Job basierend auf der Zeile tatsächlich ein SIGKILL
und nicht ein erhalten hat . Wenn ich darüber hinaus ausführe , wird der Job mit beendet . Was ist mit der Abmeldung mit , um zu verhindern, dass der SLURM-Job abgebrochen wird? Ich hatte den Eindruck (und die Forschung scheint dies zu unterstützen), dass beim Abmelden an die untergeordneten Shells weitergegeben wird. Übersehe ich etwas oder liege ich völlig auf dem Holzweg?SIGHUP
WSIGTERM 9
kill -1 ActiveSrunJob
WSIGTERM 9
exit
SIGHUP