You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
868 B

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Server graceful restart with Go
## 安装并运行服务器(打开终端运行一下命令)
```
$ git clone
$ go mod tidy
$ go run build //不打包第二次以后无法正常重启,会报 Fail to fork1 no such file or directory
$ go-graceful-restart-example
2014/12/14 20:26:42 [Server - 4301] Listen on [::]:12345
[...]
```
## 测试客户端(新开一个终端)
```
$ cd /client
$ go run pong.go
```
## 优雅重启服务(再开一个终端)
```
# 服务器pid包含在其日志中例如:[Server - 1204933] 1204933即是当前pid
$ go run build //修改服务端代码后重新打包,再运行才能看到效果
$ kill -HUP <server pid>
```
## 延时停止服务
让当前请求等待10秒后强制完成并停止服务。
```
$ kill -TERM <server pid>
```
## Gist of output
https://gist.github.com/Soulou/7ca6a2d4f475f8e2345e