當(dāng)我kill -SIGINT pid使用我的 Golang 服務(wù)時(shí),我在調(diào)用 的地方正常關(guān)閉profile.Stop,但在我調(diào)用它之前我收到了這條消息:profile: caught interrupt, stopping profiles我什至無(wú)法調(diào)用 profile.Stop 因?yàn)樗|發(fā)得更快,但是 grpc listen 和 couchbase 連接關(guān)閉工作正常。無(wú)論如何我可以覆蓋這個(gè)故障配置文件停止嗎?
1 回答

阿晨1998
TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
有一個(gè)profile.NoShutdownHook
函數(shù)控制分析包是否應(yīng)該掛鉤 SIGINT,在其上干凈地編寫配置文件。
profile.Start()
如果您想禁用此行為,您可以使用/傳遞上述函數(shù)作為選項(xiàng):
profile.Start(profile.NoShutdownHook)
最好通過(guò) deferred 來(lái)啟動(dòng)和停止函數(shù)內(nèi)部的分析,例如:
//?disable?the?automatic?shutdown?hook. defer?profile.Start(profile.NoShutdownHook).Stop()
如果禁用自動(dòng)關(guān)閉掛鉤,請(qǐng)確保Stop()
在關(guān)閉處理程序中正確地手動(dòng)調(diào)用。
- 1 回答
- 0 關(guān)注
- 139 瀏覽
添加回答
舉報(bào)
0/150
提交
取消