1 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
可以處理和使用信號(hào)。
在本機(jī) Go 代碼中通知或在 C 中調(diào)用
(可能通過(guò) cgo 調(diào)用設(shè)置)。SIGTERM
SIGABRT
但是,a 或處理程序不應(yīng)阻止進(jìn)程終止 — 它可以盡一切努力進(jìn)行日志記錄(也許是為了幫助調(diào)試),或者刷新中間輸出(以減少丟失的工作量),但一般來(lái)說(shuō),失敗可能表明程序以某種方式嚴(yán)重?fù)p壞 — 如果它繼續(xù)運(yùn)行,它可能會(huì)產(chǎn)生任意錯(cuò)誤的輸出(例如,由于內(nèi)存損壞), 或 segfault(因?yàn)槌绦虿幌M{(diào)用返回),或死鎖(因?yàn)?指示鎖定不變量已損壞)。SIGTERM
SIGABRT
assert
assert
assert
如果程序遇到故障時(shí)遇到問(wèn)題,而不是嘗試捕獲和抑制這些故障,則尋找重現(xiàn)這些故障的方法(例如,通過(guò)模糊測(cè)試程序的輸入,或記錄程序在發(fā)生故障之前正在執(zhí)行的操作的跟蹤)可能會(huì)更有效率。然后,您可以修復(fù)失敗的根本原因,并且無(wú)需嘗試從中恢復(fù)。assert
assert
- 1 回答
- 0 關(guān)注
- 80 瀏覽
添加回答
舉報(bào)