【发布时间】:2022-01-12 18:59:39
【问题描述】:
我有很多 .ovpn openvpn 配置文件,我需要连接并测试我与它们的连接。
我已经设法使用subprocess 连接到他们
但是问题是我在运行代码的时候,Python中途执行了openvpn连接命令,在系统连接vpn之前执行了以下命令。
而当我使用subprocess.Popen().wait()时,当系统连接到vpn时,它不再关闭shell并且代码卡在那里。
我不知道如何解决。
这是我的代码:
result = {"successful": [], "failed": []}
configs = os.listdir(Path('configs')) # load config files
for config in configs:
# connect to vpn
subprocess.Popen(f'echo pass | sudo -S openvpn --config configs/{config} --auth-user-pass pass.txt', shell=True).wait()
newip = check_ip(session)
if newip in ips:
result["failed"].append({config: newip})
else:
result["successful"].append({config: newip})
ips.append(newip)
# killing the connection
subprocess.Popen('echo pass | sudo -S killall openvpn', shell=True)
print('sleeping for 30')
time.sleep(30)
请帮忙。
【问题讨论】:
标签: python shell subprocess connection openvpn