So I wrote a script which acts like a daemon. And it starts with something like this....
########### Begin Code import signal STOPIT = False def my_SIGTERM_handler(signum, frame): global STOPIT print '\n--- Caught SIGTERM; Attempting to quit gracefully ---' STOPIT = True signal.signal(signal.SIGTERM, my_SIGTERM_handler) signal.signal(signal.SIGINT , my_SIGTERM_handler) ########### End Code My main loop looks something like this... login() while not STOPIT: foo1() foo2() foo3() if STOPIT: break bar1() bar2() bar3() print 'bye' logout() This seems to work okay but just now I got this while hitting ctrl-c It seems to have caught the signal at or in the middle of a call to sys.stdout.flush() --- Caught SIGTERM; Attempting to quit gracefully --- Traceback (most recent call last): File "/home/user/test.py", line 125, in <module> sys.stdout.flush() IOError: [Errno 4] Interrupted system call How should I fix this? Am I doing this completely wrong? Thanks, ~Eric
-- http://mail.python.org/mailman/listinfo/python-list