37 lines
811 B
Python
37 lines
811 B
Python
|
#!/usr/bin/env python
|
||
|
import sys
|
||
|
import os
|
||
|
import signal
|
||
|
|
||
|
from supervisor.childutils import listener
|
||
|
|
||
|
|
||
|
def write_stdout(s):
|
||
|
sys.stdout.write(s)
|
||
|
sys.stdout.flush()
|
||
|
|
||
|
|
||
|
def write_stderr(s):
|
||
|
sys.stderr.write(s)
|
||
|
sys.stderr.flush()
|
||
|
|
||
|
|
||
|
def main():
|
||
|
while True:
|
||
|
headers, body = listener.wait(sys.stdin, sys.stdout)
|
||
|
body = dict([pair.split(":") for pair in body.split(" ")])
|
||
|
|
||
|
if body["groupname"] == "concierge":
|
||
|
try:
|
||
|
pidfile = open('/run/supervisor.pid','r')
|
||
|
pid = int(pidfile.readline());
|
||
|
os.kill(pid, signal.SIGQUIT)
|
||
|
except Exception as e:
|
||
|
write_stdout('could not kill supervisor: %s\n' % e.strerror)
|
||
|
|
||
|
write_stdout('RESULT 2\nOK')
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|