Has anyone had any luck trapping when a Python script is placed on
hold on Windows? My proof-of-concept script below works on Linux, but
not on Windows, despite the fact that the starterlog suggests that it
should:
08/07/15 14:53:10 (pid:7952) Got SIGTERM. Performing graceful shutdown.
import os
import signal
import sys
import time
def cleanShutdown(signal, frame):
'''A method to handle shutdowns. This is necessary to prevent the agent from
hanging on a HTCondor shutdown, since the shutdown script sends SIGQUIT
instead of SIGTERM.'''
print 'Received signal %i, shutting down server' % signal
sys.exit(0)
# Capture SIGINT and SIGQUIT
signal.signal(signal.SIGINT,cleanShutdown)
signal.signal(signal.SIGTERM,cleanShutdown)
if os.name != 'nt':
signal.signal(signal.SIGQUIT,cleanShutdown)
time.sleep(900)