0
將忽略的信號設置爲SIG_DFL我正在編寫一個庫,其中fork()和execvp()啓動另一個程序。據我所知,execvX()將「自定義」信號處理程序重置爲SIG_DFL,但它不會將任何忽略的信號處理程序設置爲SIG_DFL。execvp()
記住它是一個庫,我無法控制用戶將如何處理這些信號,將被忽略信號的信號處理程序設置爲SIG_DFL是一個好主意嗎?
如果是這樣,是否有某種方法可以將所有信號處理程序一次設置爲SIG_DFL?我是否必須遍歷所有的信號數字?在這種情況下,我怎樣才能找到最後一個可能的信號編號?我已經看到位/ signum.h中有_NSIG。這是POSIX的不變部分,還是Linux專用?
謝謝。
感謝一個
NSIG
不變,我沒有意識到NSIG。 –另請參閱'feature_test_macros(7)'手冊頁,您可能需要'-D_GNU_SOURCE' –