V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  evemoo  ›  全部回复第 5 页 / 共 5 页
回复总数  94
1  2  3  4  5  
2023 年 3 月 14 日
回复了 evemoo 创建的主题 Python windows 下多线程执行 subporcess.Popen(),但子进程无法杀死
总算解决了,某种意义上算是给自己埋坑。
第一个点,可执行程序如果有-d 参数这种后台运行的参数,subprocess 调用的时候要去掉,不然会以独立进程存在。
第二个点,不用 communicate(),统一输出 log 到文件。communicate()加上 timeout 参数捕获异常就无法 kill 子进程,实在是诡异
2023 年 3 月 14 日
回复了 evemoo 创建的主题 Python windows 下多线程执行 subporcess.Popen(),但子进程无法杀死
> 如果 shell=True ,那么会通过 shell 来启动进程。这意味着,一次 Popen 会启动两个进程,一个 shell 进程,一个命令进程。然后 Popen 返回的 pid 是 shell 进程的 pid ,这会导致 Popen.kill() 等函数不起作用,进程还在正常运行,所以一定要使用参数列表的形式启动,不要通过命令行的形式,不要使用 shell=True 。

但是还是解决不了子进程问题
简单复现:
run.bat 写入 ping -n 10 127.0.0.1
启动一个线程执行 subprocess.Popen(args="run.bat"),communicate(timeout=1),捕获 subprocess.TimeoutExpired 。
然后发现依然是要等 run.bat 程序 ping 完 10 次才会退出程序,但纯命令行执行 subprocess.Popen(args="ping -n 10 127.0.0.1")能捕获到并提前 kill 。
![image]( https://user-images.githubusercontent.com/42791572/224993848-874948bb-2836-4995-90e0-4faccb4ea861.png)
2023 年 3 月 14 日
回复了 evemoo 创建的主题 Python windows 下多线程执行 subporcess.Popen(),但子进程无法杀死
@ClericPy
多线程里面 wait 会死锁,官方文档推荐 communicate()方法
2023 年 1 月 24 日
回复了 evemoo 创建的主题 宽带症候群 广州电信家宽 IPV6 局域网设备问题
谢谢 @hzdrro ,Native + RA 解决问题了
![]( https://s2.loli.net/2023/01/24/K2O4PA7wlDbGinf.png)
2021 年 7 月 29 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
@cwbsw
iptables 这块不太熟,能讲解一下吗
2021 年 7 月 28 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
@cwbsw
所有入站流量全部转发到 NS 能 NAT A,但 SSH 反而连不上了
密码管理软件搜一下手机号能覆盖 80%,然后缓冲三个月查漏。
尝试在 openwrt 上用 n2n 给 ns 加速,没成功。
2021 年 7 月 23 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
@cwbsw
在服务器执行吗,我可能需要 dd 系统
2021 年 7 月 23 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
@guanyin8cnq12
原 $$ 方案实际游戏体验还行,联机还要套个 tls 有点累
2021 年 7 月 23 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
@cwbsw
让 NS 数据走隧道到服务器后再进行 NAT 转换,这么理解?
2021 年 7 月 23 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
@guanyin8cnq12
目标是主机加速,NS 不支持 Socks 代理只能走网关形式了。
至于 qos 问题,国内服务器我用 udpping 测过,没有丢包。
2021 年 7 月 23 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
谷歌翻了很多主机代理资料和实际折腾经历总结一下, 如果有错误请指正。

多个玩家都在国内联机 P2P 游戏,即便拥有 NAT A 条件但游戏内玩家瞬移瞬移的情况还是存在,至于校园网或 NAT C 玩家就更卡了。各运营商链路质量不同或者存在丢包情况都是导致瞬移的原因,此时搭建中心节点让双方走代理能改善这种情况。

在不过墙的时候 $$ 因为 0-RTT 的缘故是个不错的选择,但拿来加速游戏则需要 L5 转 L3,不那么适合加速游戏(实际用途 vs 特殊需求)。

Windows 路由表不像 Linux 那么好处理,虚拟机方案需要有线桥接,无线模式下真机流量无法被转发。
绝大部分无线网卡不支持混杂模式: https://www.virtualbox.org/manual/ch06.html#network_bridged
目前能找到的方案是 socks5 + pcap2socks ( Netch 已整合)。

同时选择香港联机节点,不同厂商加速器的联机效果也不完全能保证稳定,技术壁垒或劣化特定 IP 段暂未考证。
2021 年 7 月 23 日
回复了 evemoo 创建的主题 宽带症候群 虚拟机 + Wireguard 的 NAT 问题
@nuk
目前已有的 iptables tproxy 方案做成透明代理网关没问题,但还是想排查一下这种威皮恩方案问题在哪。
顺便对比一下这两种方案哪个对主机 p2p 游戏( MHR )加速效果比较好。
1  2  3  4  5  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2876 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 05:37 · PVG 13:37 · LAX 22:37 · JFK 01:37
♥ Do have faith in what you're doing.