我将有一个父进程用于处理Web服务器重新启动.它将通知孩子停止收听新请求,孩子会发信号通知家长已经停止收听,然后家长会发信号通知新孩子它可以开始收听.通过这种方式,我们可以完成不到100ms的停机时间来重启该级别(我也有一个零停机时间的孙子重启,但这并不总是足够重启).
在关闭时,服务管理器将终止父服务器.孩子如何发现父母已经结束?
使用子进程的stdin和stdout发送信号.也许我可以检测到stdin流的结束?我希望避免轮询间隔.此外,如果可能的话,我希望这是一个非常快速的检测.
解决方法
你能不能在父进程中添加一个
exit listener来表示孩子们?
编辑:
你也可以用node-ffi (Node Foreign Function Interface)来打电话……
prctl(PR_SET_PDEATHSIG,SIGHUP);
…在Linux中. (man 2 prctl)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。