2013-02-12 21 views
6

我确定我看到一些用Go编写的开源服务器,它能够重新启动并保持连接处于打开状态。平稳重启以保持连接开放

我无法找到它来学习该技术。

我知道apache.httpd有apachectl graceful重新启动并保持连接打开。

它在一般情况下和Go中如何实现?

我认为它必须分叉和1退出,2执行(新的应用程序)和Fd链接连接。

但是在Go中我只能找到ForkExec函数。我认为Fork是必需的。 也syscall包没有很好的文件。

+0

不要优雅重启只是旋转起来的新的服务器来处理所有新进入的连接,但保留旧的服务器的生命,直到它完成维修现有的连接?它不会尝试将现有连接交给新的服务器请求。 – 2013-02-12 23:20:45

+0

如果您执行程序,则新程序可能会与旧程序共享打开的文件。 – Artem 2013-02-13 08:08:30

回答