让socket端口不被子进程继承
有两个程序A,B
A绑定端口8000,然后用system函数启动程序B,然后再把A杀掉,这个时候再重启A的时候会发现绑定端口失败,
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。原因是端口被B绑定了,实际上是被继承了,为了避免这种情况,需要对主socket设置如下
fcntl(mainSocket, F_SETFD, FD_CLOEXEC);

更多精彩
有两个程序A,B
A绑定端口8000,然后用system函数启动程序B,然后再把A杀掉,这个时候再重启A的时候会发现绑定端口失败,
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。原因是端口被B绑定了,实际上是被继承了,为了避免这种情况,需要对主socket设置如下
fcntl(mainSocket, F_SETFD, FD_CLOEXEC);