Currently we use call gpmc in python by subprocess and use communicate to set TIMEOUT
p = popen("GPMC/bin/gpmc")
try:
p.communicate(timeout = TIMEOUT)
except subprocess.TimeoutExpired:
p.terminate()
But it does not always succeed because of some bugs in subprocess.
We should use the parameter in gpmc: -cpu-lim