Я только что реализовал это с помощью сигналов в Python примерно так:
def mysignalhandler(sig, frame):
print "Got " + str(sig)
if sig == signal.SIGUSR1:
do_something()
signal.signal(signal.SIGUSR1, mysignalhandler)
signal.pause()
Это сделает паузу в последней строке и вызовет do_something()
, когда получит сигнал USR1, например, через
kill -USR1 <pid>
команда.
Это будет работать только в UNIX.