使用 PHP 自建穩定可靠的守護程式

taozywu發表於2019-06-25

what

  1. pcntl_fork
  2. 程式/程式組/組長程式/會話
  3. 標準輸入/輸出/錯誤

why

how

需要安裝pcntl擴充套件,才能使用

  1. 後臺執行
    if($pid=pcntl_fork()) exit(0);//是父程式,結束父程式,子程式繼續
  2. 脫離控制終端,登入會話和程式組
    posix_setsid();//子程式升級組長程式, 脫離原來的會話/終端
  3. 禁止程式重新開啟控制終端
    if($pid=pcntl_fork()) exit(0);//結束第一子程式,第二子程式繼續(第二子程式不再是會話組長)
  4. 關閉開啟的檔案描述符
    fclose(STDIN),fclose(STDOUT),fclose(STDERR)//關閉標準輸入輸出與錯誤顯示。
  5. 改變當前工作目錄
    chdir("/")
  6. 重設檔案建立掩模
    umask(0);//防止繼承父級遺留下來的掩模

編碼

留到下節我們們再講,大家也可以鞏固下本節內容!

===
有啥疑問或問題我們們可以及時交流, 感謝!!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章