[問題] daemon程式中的while(1)無限迴圈如何正常終止

看板LinuxDev作者 (Thomas_TPE)時間15年前 (2011/01/04 12:51), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
daemon程式中在main()中都會有一個 while(1){ //你要做的工作 ................ sleep(1); } 當要終止Daemon時的做發都是killproc 會不會在迴圈執行到一半時因程式終止而造成工作不完整 如何確保在一個迴圈完全執行完後在終止程式 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.11.22.218

01/04 17:43, , 1F
註冊 signal handler?
01/04 17:43, 1F

01/04 20:18, , 2F
程式起來的時候先mask掉該信號,當迴圈做完的時候檢查
01/04 20:18, 2F

01/04 20:20, , 3F
有沒有pending的信號,然後再做相對應的處理?
01/04 20:20, 3F
文章代碼(AID): #1D8gTYAe (LinuxDev)
文章代碼(AID): #1D8gTYAe (LinuxDev)