github.com/drud/ddev@v1.21.5-alpha1.0.20230226034409-94fcc4b94453/containers/ddev-webserver/ddev-webserver-base-files/usr/local/bin/kill_supervisor.py (about) 1 #!/usr/bin/env python3 2 import sys 3 import os 4 import signal 5 6 # From https://blog.zhaw.ch/icclab/process-management-in-docker-containers/ 7 8 def write_stdout(s): 9 sys.stdout.write(s) 10 sys.stdout.flush() 11 def write_stderr(s): 12 sys.stderr.write(s) 13 sys.stderr.flush() 14 def main(): 15 while 1: 16 write_stdout('READY\n') 17 line = sys.stdin.readline() 18 write_stdout('This line kills supervisor: ' + line) 19 try: 20 pidfile = open('/var/run/supervisord.pid','r') 21 pid = int(pidfile.readline()) 22 os.kill(pid, signal.SIGQUIT) 23 except Exception as e: 24 write_stdout('Could not kill supervisor: ' + e.strerror + '\n') 25 write_stdout('RESULT 2\nOK') 26 if __name__ == '__main__': 27 main() 28 import sys