我在SLURM集群上预留了一些节点,并且希望在这些节点上运行一个python脚本。
在一个节点(服务器)上,python脚本应该填充作业队列并将这些作业分发给客户端。
大多数情况下,这种方式可以正常工作,但偶尔脚本会停下来。
当使用Ctrl + C时,事实证明,在这种情况下,一个(或者更多)节点似乎卡在中:
^Csrun: interrupt (one more within 1 sec to abort)
srun: task 30: running
srun: tasks 0-29,31-39: exited
^Csrun: sending Ctrl-C to job 1075185.14
Exception KeyboardInterrupt: KeyboardInterrupt() in ignored
srun: Job step aborted: Waiting up to 2 seconds for job step to finish.
slurmd[cluster-112]: *** STEP 1075185.14 KILLED AT 2014-04-03T09:11:23 WITH SIGNAL 9 ***我不知道原因可能是什么。也许,它看起来像垃圾收集器相关的东西。
这是我运行的脚本:
#!/usr/bin/env
import os
import multiprocessing.managers
import Queue
import sys
import subprocess
import socket
import errno
class QueueManager(mul