Files
paqctl/gfk/client/mainclient.py

39 lines
862 B
Python
Raw Normal View History

import subprocess
import os
import time
import sys
import signal
scripts = ['quic_client.py', 'vio_client.py']
def run_script(script_name):
# Use sys.executable to run with the same Python interpreter (venv)
subprocess.run(['pkill', '-f', script_name], stderr=subprocess.DEVNULL)
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.")