知识点 信号量的了解。 应用热更新。 本文目标 在前面编写案例代码时,我相信你会想到,每次更新完代码,更新完配置文件后,就直接这么 ctrl+c 真的没问题吗,ctrl+c到底做了些什么事情呢? 在这一节中我们简单讲述 ctrl+c 背后的信号以及如何在Gin中优雅的重启服务,也就是对 HTTP 服务进行热更新。 ctrl + c 内核在某些情况下发送信号,比如在进程往一个已经关闭的管道写数据时会产生SIGPIPE信号 在终端执行特定的组合键可以使系统发送特定的信号给此进程,完成一系列的动作 命令 信号 含义 ctrl + c SIGINT 强制进程结束 ctrl + z SIGTSTP 任务中断,进程挂起 ctrl + \ SIGQUIT 进程结束 和 dump core ctrl + d EOF SIGHUP 终止收到该信号的进程。若程序中没有捕捉该信号,当收到该信号时,进程就会退出(常用于 重启、重新加载进程) 因此在我们执行ctrl + c关闭gin服务端时,会强制进程结束,导致正在访问的用户等出现问题