Skip to content

Instantly share code, notes, and snippets.

@musically-ut
Created October 21, 2011 10:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save musically-ut/1303556 to your computer and use it in GitHub Desktop.
Save musically-ut/1303556 to your computer and use it in GitHub Desktop.
Dealing with kill commands from the outside world
# 'p' is the Popen object for the subprocess
all_is_well = True
while True:
try:
(r, w, e) = zmq.select(
[in_hb, in_cmd], [], [], timeout=end_time - time.time())
for sock in r:
msg = sock.recv()
if sock == in_cmd:
print '[monitor] Order to execute'
all_is_well = False
retcode = 'Killed by order'
except zmq.ZMQError as e:
print '[monitor] *** ZMQ had a problem: ' + str(e)
if not all_is_well:
if not _kill(p):
print '[monitor] Probably already dead.'
break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment