猿问

在中断的情况下覆盖 golang 配置文件停止

当我kill -SIGINT pid使用我的 Golang 服务时,我在调用 的地方正常关闭profile.Stop,但在我调用它之前我收到了这条消息:profile: caught interrupt, stopping profiles

我什至无法调用 profile.Stop 因为它触发得更快,但是 grpc listen 和 couchbase 连接关闭工作正常。

无论如何我可以覆盖这个故障配置文件停止吗?


慕容708150
浏览 109回答 1
1回答

阿晨1998

有一个profile.NoShutdownHook函数控制分析包是否应该挂钩 SIGINT,在其上干净地编写配置文件。profile.Start()如果您想禁用此行为,您可以使用/传递上述函数作为选项:profile.Start(profile.NoShutdownHook)最好通过 deferred 来启动和停止函数内部的分析,例如:// disable the automatic shutdown hook. defer profile.Start(profile.NoShutdownHook).Stop()如果禁用自动关闭挂钩,请确保Stop()在关闭处理程序中正确地手动调用。
随时随地看视频慕课网APP

相关分类

Go
我要回答