Files
paqctl/gfk/server/mainserver.py

37 lines
825 B
Python
Raw Normal View History

import subprocess
import os
import time
import sys
import signal
scripts = ['quic_server.py', 'vio_server.py']
def run_script(script_name):
# Use sys.executable to run with the same Python interpreter (venv)
os.system(f"pkill -f {script_name}")
time.sleep(0.5)
p = subprocess.Popen([sys.executable, script_name])
return p
processes = []
def signal_handler(sig, frame):
print('You pressed Ctrl+C!')
for p in processes:
print("terminated:",p)
p.terminate()
sys.exit(0)
if __name__ == "__main__":
p1 = run_script(scripts[0])
time.sleep(1)
p2 = run_script(scripts[1])
processes.extend([p1, p2]) # Modify global list, don't shadow it
signal.signal(signal.SIGINT, signal_handler)
p1.wait()
p2.wait()
print("All subprocesses have completed.")