Files
ad-tunnel/run_service.py
John Lancaster db14acfe2d updates
2024-06-16 00:25:23 -05:00

31 lines
849 B
Python
Executable File

#!/usr/bin/env python
import subprocess
def run_tunnel():
process = subprocess.Popen(
['/root/code', 'tunnel'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True
)
with process.stdout:
try:
for line in iter(process.stdout.readline, ''):
print(line, end='')
except KeyboardInterrupt:
print('KeyboardInterrupt')
finally:
process.terminate()
try:
# Give some time to gracefully shutdown
returncode = process.wait(timeout=5)
except subprocess.TimeoutExpired:
print('Timeout expired, sending SIGKILL')
process.kill()
returncode = process.wait()
print(f'Process finished with {returncode}')
if __name__ == '__main__':
run_tunnel()