一尘不染

在执行结束时执行操作

go

我有一个http服务器(使用启动http.Handle),我想做一些操作。

我该怎么做(在Linux上)?在ctrl-C的情况下可以进行那些操作吗?

我不熟悉Unix信号,因此答案可能很简单。


阅读 219

收藏
2020-07-02

共1个答案

一尘不染

您可以使用信号包订购TERM和INT信号。但是请注意,只有在明确终止进程时才发送这些信号。正常退出(由流程本身启动)不涉及任何信号。我认为,对于正常退出,只需在主例程中执行某些操作即可(该例程应该生成工作程序goroutine,然后等待它们)。

阅读man 7 signal有关POSIX信号的更多常规信息。

2020-07-02