All repository URLs updated from GitHub (SamNet-dev/paqctl) to Gitea (git.samnet.dev/SamNet-dev/paqctl). Third-party references (hanselime/paqet, Xray, microsocks) remain on GitHub.
37 lines
825 B
Python
37 lines
825 B
Python
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.")
|