国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
什么是daemon
實現(xiàn)關注點
???? ?????
?? ?? ??
? ??? ?? PHP ???? ???? ?????? PHP?? ??? ???? ??? ??????

???? ?????? PHP?? ??? ???? ??? ??????

Jun 23, 2021 pm 08:30 PM
php

??? ??????? ???? ?? ??? ??? ???? ? ???? ?? ???????. ? ???? PHP?? ??? ???? ??? ????? ? ???? ? ??? ?????.

???? ?????? PHP?? ??? ???? ??? ??????

PHP ?? ??? pcntl ? posix ??? ?? ??? ? ????. pcntlposix 擴展實現(xiàn)。

編程中需要注意的地方有:

  • 通過二次 pcntl_fork() 以及 posix_setsid 讓主進程脫離終端
  • 通過 pcntl_signal() 忽略或者處理 SIGHUP 信號
  • 多進程程序需要通過二次 pcntl_fork() 或者 pcntl_signal() 忽略 SIGCHLD 信號防止子進程變成 Zombie 進程
  • 通過 umask() 設定文件權限掩碼,防止繼承文件權限而來的權限影響功能
  • 將運行進程的 STDIN/STDOUT/STDERR 重定向到 /dev/null 或者其他流上

如果要做的更好,還需要注意:

  • 如果通過 root 啟動,運行時更換到低權限用戶身份
  • 及時 chdir() 防止操作錯誤路徑
  • 多進程程序考慮定時重啟,防止內存泄露

什么是daemon

文章的主角守護進程(daemon),Wikipedia 上的定義是:

在一個多任務的電腦操作系統(tǒng)中,守護進程(英語:daemon,/?di?m?n/或/?de?m?n/)是一種在后臺執(zhí)行的電腦程序。此類程序會被以進程的形式初始化。守護進程程序的名稱通常以字母“d”結尾:例如,syslogd就是指管理系統(tǒng)日志的守護進程。
通常,守護進程沒有任何存在的父進程(即PPID=1),且在UNIX系統(tǒng)進程層級中直接位于init之下。守護進程程序通常通過如下方法使自己成為守護進程:對一個子進程運行fork,然后使其父進程立即終止,使得這個子進程能在init下運行。這種方法通常被稱為“脫殼”。

UNIX環(huán)境高級編程(第二版)(以下使用簡稱 APUE 指代) 13章有云:

守護進程也成精靈進程( daemon )是生存周期較長的一種進程。它們常常在系統(tǒng)自舉時啟動,僅在系統(tǒng)關閉時才終止。因為他們沒有控制終端,所以說他們是在后臺運行的。

這里注意到,daemon有如下特征:

  • 沒有終端
  • 后臺運行
  • 父進程 pid 為1

想要查看運行中的守護進程可以通過 ps -ax 或者 ps -ef 查看,其中 -x 表示會列出沒有控制終端的進程。

實現(xiàn)關注點

二次 fork 與 setsid

fork 系統(tǒng)調用

fork 系統(tǒng)調用用于復制一個與父進程幾乎完全相同的進程,新生成的子進程不同的地方在于與父進程有著不同的 pid 以及有不同的內存空間,根據代碼邏輯實現(xiàn),父子進程可以完成一樣的工作,也可以不同。子進程會從父進程中繼承比如文件描述符一類的資源。

PHP 中的 pcntl 擴展中實現(xiàn)了 pcntl_fork() 函數(shù),用于在 PHP 中 fork 新的進程。

setsid 系統(tǒng)調用

setsid 系統(tǒng)調用則用于創(chuàng)建一個新的會話并設定進程組 id。

這里有幾個概念:會話,進程組

在 Linux 中,用戶登錄產生一個會話(Session),一個會話中包含一個或者多個進程組,一個進程組又包含多個進程。每個進程組有一個組長(Session Leader),它的 pid 就是進程組的組 id。進程組長一旦打開一個終端,這一個終端就被稱為控制終端。一旦控制終端發(fā)生異常(斷開、硬件錯誤等),會發(fā)出信號到進程組組長。

后臺運行程序(如 shell 中以&結尾執(zhí)行指令)在終端關閉之后也會被殺死,就是沒有處理好控制終端斷開時發(fā)出的SIGHUP信號,而SIGHUP

??????? ???? ? ??? ??? ????. ??
  • ? ?? pcntl_fork() ? posix_setsid? ???? ?? ????? ?????. ???
  • pcntl_signal()? ?? SIGHUP ??? ????? ?????.
  • ?? ???? ????? ? ? ? ???? ???. >pcntl_fork() ?? pcntl_signal() SIGCHLD ??? ???? ?? ????? ?? ????? ?? ?? ?????.
  • ?? ?? ?? ???? ??? ??? ??? ??? ??? ??? umask()? ?? ?? ???
  • ?? ?? ????? STDIN/STDOUT/STDERR? ???? ???????. /dev/null ?? ?? ????
??? ?? ??? ???? ?? ???? ??? ???? ???. ??
  • ??? ?? ???? ?? , ??? ? ?? ??? ??? ID? ??
  • ??? chdir() ?? ?? ??
  • ??? ??? ????? ?? ???? ????? ????? ?? ???? ?? ????
????

???? ?????

????? ??? ?? Wikipedia? ??? ??? ????. ??
??????? ??? ?? ???? ??(??: daemon, /?di?m?n/ ?? /?de?de?m?n/)? ??????? ???? ??? ???????. ??? ????? ????? ??????. ?? ????? ??? ????? ?? "d"? ????. ?? ?? syslogd? ??? ??? ???? ??? ?????.
????? ?? ?????? ?? ?? ????(?, PPID=1)? ??? UNIX ??? ???? ???? init ?? ??? ????. ?? ????? ????? ?? ?????? ??? ??? ?? ?? ????? init?? ??? ? ??? ?? ????? ?? ???? ????? ??? ????. ? ??? ?? "??"??? ???. ??
??UNIX ??? ?? ?????(?2?)(?? ??) APUE? ???) 13?? ??
?? ?? ????? ?? ????(daemon)??, ????? ? ?????? ???. ???? ??? ? ???? ???? ??? ?? ???? ??? ????. ?? ???? ?? ??? ??????? ????? ???. ??
????? ??? ?? ??? ??? ????: ??
? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
PHP? AI ??? ?? ?? PHP ?? ?? ?? ??? ??? ?????. PHP? AI ??? ?? ?? PHP ?? ?? ?? ??? ??? ?????. Jul 25, 2025 pm 08:45 PM

??? ?? ??? ??? ?? JavaScript? MediareCorder API? ?? PHP ???? ???? ?????. 2. PHP? ???? ?? ??? ???? STTAPI (? : Google ?? Baidu ?? ??)? ???? ???? ?????. 3. PHP? ???? AI ??? (? : OpenAigpt)? ????. 4. ?? ?? PHP? TTSAPI (? : Baidu ?? Google ?? ??)? ???? ??? ?? ??? ?????. 5. PHP? ?? ??? ??? ??? ??? ?? ?? ??? ?????. ?? ????? PHP? ?? ???? ?? ?? ?? ??? ??? ?????.

PHP? ???? ?? ?? ??? ???? ?? PHP ?? ????? ?? ?? PHP? ???? ?? ?? ??? ???? ?? PHP ?? ????? ?? ?? Jul 25, 2025 pm 08:51 PM

PHP?? ?? ?? ??? ???? ?? ??? ? ???? ?? ??? ???? ?? ??? ???? ???? ????. 1. ?? ?? ??? ?? ??? URL ? ?? ??? ????. 2. UrlenCode? ???? ?? ??? ???????. 3. ? ???? ????? ?? ?? ??? ? ?? ??? ?????. 4. ???? ???? ?? ? ? ??? ??? ??? ??? ?????. 5. ??? ?? ??? ????? ?? ????? OG ??? ???? ?????. 6. XSS ??? ???? ?? ??? ??? ?????. ? ???? ??? ??? ???? ??? ?? ?? ??? ??? ???? ??? ?? ??? ?????.

PHP? ???? AI? ???? ??? ?? ?? PHP ?? ?? ? ???? ?????. PHP? ???? AI? ???? ??? ?? ?? PHP ?? ?? ? ???? ?????. Jul 25, 2025 pm 08:57 PM

AI? ??? ??? ?? ?? ? ?? ???? ????? ?? ??? ??????. 1. Baidu, Tencent API ?? ?? ?? NLP ?????? ?? ??? AI ?? ?? API? ??????. 2. PHP? ? ?? guzzle? ?? API? ???? ?? ??? ??????. 3. ?? ????? ?? ?? ??? ???? ???? ???? ??? ??? ? ????. 4. ?? ?? ? ?? ???? ?? PHP-L ? PHP_CODESNIFFER? ??????. 5. ???? ????? ???? ?? ?? ??? ?????? ??? ??????. AIAPI? ??? ? ???, ?? ??, ?? ? PHP ?? ??? ??? ???. ?? ???? PSR ??? ???, ??? ????? ????, ?? ??? ???, ????? ??? ????, X? ???????.

PHP? PHP ?? ?? ? ?? ??? ??? ?????? ??? ??? ???? ????. PHP? PHP ?? ?? ? ?? ??? ??? ?????? ??? ??? ???? ????. Jul 25, 2025 pm 08:27 PM

1. ?? ???? ??? ??? ?????? ?? ?? ??? ??, ??? ?? ???? ??? (? : ?? ???, ? ? ??), ?? ??? ?? ???? ???? ? ?? ?? ??? ??? ?? ??? ????????. 2. ?? ??? ??? ?? ? ??? ???? ?? ?? ?? ???? ?? ? ?? AUDIT ?? ??? ??? ? ????? ????? ??? ???????. 3. ?? ?? ??? ?? ??? ???????. Recaptchav3 ???? ??, ??? ?? ?? ?? ?? ??, IP ? ?? ??? ??? ??? ?? ???? ??? ?? ??? ????? ??? ???? ????? ??? ?????.

PHP? ???? AI? ???? ???? ???? ??. PHP? ???? ?? ??? ????? PHP? ???? AI? ???? ???? ???? ??. PHP? ???? ?? ??? ????? Jul 25, 2025 pm 07:21 PM

PHP? AI ??? ??? ?? ????? ??? API? ?? ?????. ??? ??? ????? ? ??? ???? ?????. API ??? ?? ?? ??? ???? ??? ??? ???? ???? ? ????. 2. ?? ?? ???? guzzle ?? curl? ???? HTTP ??? ???, JSON ??? ??? ? ???, API ? ?? ??, ??? ? ?? ??? ???? ??, ??? ?? ?? ? ? ?? ????, ??? ?? ? ?????? ?????. 3. ???? ???? ?? ???? API ??, ?? ? ??? ?? ??, ??? ?? ??, ?? ?? ? ??? ??? ??? ?????. ?? ??? ??? ??? ? ??? ???? Propt ?? ? ?? ?? ??, ??? ?? ? ?? ????, ?? ?? ?? ???? ? ??? ?? ? ???? ????? ?????.

PHP? ?? ?? ?? ? ?? ?? PHP ?? ??? ? ?? ????? ?? PHP? ?? ?? ?? ? ?? ?? PHP ?? ??? ? ?? ????? ?? Jul 25, 2025 pm 08:30 PM

PHP? ?????? ????? ?? ?? ?? ???? ???? ?? ???? ???? ?? ?? ???? ?????. 2. ?? ??? ???? ???? ?? ??? ?? ? ??? ??? ???? ?? API/Webhook ??? ??? ?? ???? ??? ??? ??? ??? ?????. 3. ?? ????? ?? ??, ??/???? ????, ???? ??, ???? ? ??? ?????? ????? ?? ??? ???? ???? ?? Dingtalk, SMS ?? ??? ???? ??? ?????? ???? ?? ? ??? ??? ????? ?? ??? ???? ???????.

?? ?? ?? : ?? ?? ?????? PHP? ?? ?? ?? ?? : ?? ?? ?????? PHP? ?? Jul 27, 2025 am 04:31 AM

PhpisstillRelevantinmodernenterpriseenvironments.1. Modernphp (7.xand8.x)? ??? ??, ??? ??, jitcompilation ? modernsyntax, mateitsuilableforlarge-scalepplications

NGINX ? PHP ???? ??? ???? ?? MacOS? ???? PHP NGINX ??? ???? ?? NGINX ? PHP ???? ??? ???? ?? MacOS? ???? PHP NGINX ??? ???? ?? Jul 25, 2025 pm 08:24 PM

MAC ?? ???? ? ??? ?? ??? ????? ?? ? ??? ????? ????. 1. ???? ???? ???? ???? ??? ?? ? ?? ????? ??? ???? ??????. 2. ????? ?? ?? ? ??? ???? ???? ?? ?? ????? ??? ???? ?????. 3. ??? ?? ??? ???? ?? ???? ?? ???? ?? ???? ?? ? ? ????. 4. ??? ????? ????? ? ?? ?? ? ??? ?? ? ??? ??????.

See all articles