[英]Trapping signals in Python
阻止你的是,如果信號在SIG_IGN到位時實際到達,那么它將被忽略並丟棄。 當你稍后再添加信號時,為時已晚,因為它已經消失了,你永遠不會得知它發生了。
因此,您將“忽略”(=拋棄)信號而不是“阻止”它(=保留它以便在關鍵部分結束時進行處理)。 你在這里的困惑可能只是因為我不明白“阻塞”信號意味着什么:它意味着操作系統掛在信號上,讓它等待直到你的關鍵部分完成。
請參閱(作為此類各種問題的一個很好的參考)W。Richard Steven 在UNIX環境中的高級編程 。 我的版本中的第10.8節“可靠的信號術語和語義”是我在回答之前檢查過的,以確定我的答案。
更新:在我的Ubuntu筆記本電腦上,“man sigprocmask”(如果安裝了manpages-dev)似乎是開始學習信號阻塞的手冊頁。 同樣,正如Python文檔所述,這在所有Unix下都不可用,所以如果你真的使用“sigprocmask”,不要指望你的舊Irix或AIX盒子運行你的Python程序。 但也許你並不擔心。 :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.