8 def sig_handler(s
, frame
):
9 print "Killing on signal %s:" % s
,
11 if pid_file
is not None:
12 if os
.path
.exists(pid_file
):
13 pid
= int(open(pid_file
).read())
14 print 'pid %s with SIGTERM...' % pid
,
15 os
.kill(pid
, signal
.SIGTERM
)
19 print 'with SIGKILL...',
20 os
.kill(pid
, signal
.SIGKILL
)
22 print 'no pid file %r, nothing to do...' % pid_file
,
26 signal
.signal(signal
.SIGINT
, sig_handler
)
27 signal
.signal(signal
.SIGQUIT
, sig_handler
)
28 signal
.signal(signal
.SIGTERM
, sig_handler
)
32 """Utility script to run daemons in supervisord"""
33 real_binary
= args
[0]['real_binary']
35 pid_file
= args
[0]['pid_file']
36 subprocess
.check_call(real_binary
)
37 print 'Started %r' % real_binary