C#的ZMQ句柄会被子程序继承解决方案
笔者在写程序的时候,主程序会拉起很多小的子程序
然后彼此之间通过ZQM来通讯
但是主程序由于某种不可抗力因素(闪退)关闭时
原本用于通讯的端口就会被占用
这时候主程序想再连上这个端口就会提示被占用
找了网上的资料或者问AI,发现答案有两面性
经过测试:
Process process = new();
process.StartInfo.UseShellExecute = true;
只有当 UseShellExecute 这个属性为true的时候,才不会继承句柄

当使用Shell启动的时候,程序使用的就是Shell的上下文,所以不会继承主程序死掉之后的句柄
不知道AI哪里来的幻觉,死活说要为False

浙公网安备 33010602011771号