精華區beta Programming 關於我們 聯絡資訊
※ 引述《moodu (moodu)》之銘言: : 請問喔 : 對遠端主機(UNIX)下了指令之後 : 因為要跑很久 : 要如何斷線後讓程式仍能繼續執行 : 謝謝 把它寫成 daemon process 就行了: http://www.enderunix.org/docs/eng/daemon.php 看 daemonize() 函數的部分, 步驟大約有: 1. fork() 一份出來, parent process 就直接死掉.... 2. setsid() 取得新的 process group 要和原本的 shell 不同 process group, 不然 shell 結束也會一起結束.... 3. 關掉所有開啟的檔案 (descriptors) 4. 把 stdin、stdout 重導到 /dev/null 5. 關掉某些 signal 這算是比較早期的寫法, 不同的系統似乎也有不同的要求, 而如果是用 FreeBSD, 它有一個 daemon 函數似乎可以直接完成這些動作, 不過我沒用過.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.191.133 ※ 編輯: ssagit 來自: 211.74.191.133 (09/10 19:46)