2021年5月18日 星期二

【Linux】在程式中處理Ctrl+C,讓程式正常結束

Ctrl+C會結束程式,造成不可預測的結果,尤其在系統資源的釋放上更是重要,像是一些通訊用的port沒有被釋放,就要等它timeout才能再次使用。因此,程式必須設法獲知Ctrl+C的發生並進行處理。在Linux下,按下Ctrl+C後,程式會收到一個訊號SIGINT;這時作業系統預設會結束程式。如果程式不想被預設處理,就要設定對SIGINT訊號的處理函式(Handler)。下面是一個簡單的例子:

沒有留言:

張貼留言