在开发服务器相关的程序时,时常需要**优雅地(gracefully)**关闭服务器进程。这就需要捕捉并处理操作系统对进程产生的信号。
- 当服务器进程在前台运行时,我们通常用
^C
结束它,这时,会产生SIGINT
信号 - 当服务器进程在后台运行时,我们通常用
kill $pid
结束它,这里,会产生SIGTERM
信号
以下代码示例在 Golang 中处理信号,并优雅地关闭服务器然后退出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
参考资料