目錄
回复内容:
首頁 後端開發 php教程 mysql - 在PHP中可以通过pcntl_fork函数生成进程,但官方说...

mysql - 在PHP中可以通过pcntl_fork函数生成进程,但官方说...

Jun 06, 2016 pm 08:49 PM
apache linux mysql nginx php

在PHP中可以通过pcntl_fork函数生成进程,但官方说当其被用于Web服务环境时可能会带来意外的结果。 不知道你们用过没有,会有什么意外后果?

因为我想通过PHP来完成一件事,但是我想通过启动多个PHP进程来一起完成这件事,于是就想到了pcntl_fork函数,但对进程又不了解,不知道这种想法是否可行,如果可行的话,是怎么实现的呢?

回复内容:

在PHP中可以通过pcntl_fork函数生成进程,但官方说当其被用于Web服务环境时可能会带来意外的结果。 不知道你们用过没有,会有什么意外后果?

因为我想通过PHP来完成一件事,但是我想通过启动多个PHP进程来一起完成这件事,于是就想到了pcntl_fork函数,但对进程又不了解,不知道这种想法是否可行,如果可行的话,是怎么实现的呢?

总是会有人批评PHP进程常驻时内存管理等的问题,不过:

https://github.com/CoderKungfu/php-queue

https://github.com/chrisboulton/php-resque

这两个库的模式都是用一个只负责fork的主进程配合fork出来的worker进程来实现可靠/易管理的“常驻”,主进程干的事少,而worker干完活就退出了,所以,可以放心用。

apache、 fastcgi、php-fpm 模式下生的子进程都是有生命周期的,超时后可能会被干掉,或者变狠成僵尸。

直接可以通过popen函数来实现你的需求。我经常这样做

这样生成的进程难以管理,官方也不建议使用的

这种做法违背了php的语言特性,php一次请求到响应结束就是一个生命周期

pcntl系的函数,个人建议是跑php的cli模式的时候用最好.

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MySQL和PhpMyAdmin:核心功能和功能 MySQL和PhpMyAdmin:核心功能和功能 Apr 22, 2025 am 12:12 AM

MySQL和phpMyAdmin是強大的數據庫管理工具。 1)MySQL用於創建數據庫和表、執行DML和SQL查詢。 2)phpMyAdmin提供直觀界面進行數據庫管理、表結構管理、數據操作和用戶權限管理。

Linux上的Docker:Linux系統的容器化 Linux上的Docker:Linux系統的容器化 Apr 22, 2025 am 12:03 AM

Docker在Linux上重要,因為Linux是其原生平台,提供了豐富的工具和社區支持。 1.安裝Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。 2.創建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。 3.編寫Dockerfile:優化鏡像大小,使用多階段構建。 4.優化和調試:使用dockerlogs和dockerex

IIS和PHP的兼容性:深度潛水 IIS和PHP的兼容性:深度潛水 Apr 22, 2025 am 12:01 AM

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

在MySQL中解釋外鍵的目的。 在MySQL中解釋外鍵的目的。 Apr 25, 2025 am 12:17 AM

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL與Oracle有何不同? MySQL與Oracle有何不同? Apr 22, 2025 pm 05:57 PM

MySQL適合快速開發和中小型應用,Oracle適合大型企業和高可用性需求。 1)MySQL開源、易用,適用於Web應用和中小型企業。 2)Oracle功能強大,適合大型企業和政府機構。 3)MySQL支持多種存儲引擎,Oracle提供豐富的企業級功能。

CENTOS:安全性,穩定性和性能 CENTOS:安全性,穩定性和性能 Apr 21, 2025 am 12:11 AM

CentOS因其卓越的安全性、稳定性和性能成为服务器和企业环境的首选。1)安全性通过SELinux提供强制访问控制,提升系统安全。2)稳定性得益于长达10年的LTS版本支持,确保系统稳定。3)性能通过优化内核和系统配置,显著提高系统响应速度和资源利用率。

Linux中的維護模式是什麼?解釋了 Linux中的維護模式是什麼?解釋了 Apr 22, 2025 am 12:06 AM

MaintenancemodeInuxisAspecialBootenvironmentforforcalsystemmaintenancetasks.itallowsadMinistratorStoperFormTaskSlikerSettingPassingPassingPasswords,RepairingFilesystems,andRecoveringFrombootFailuresFailuresFailuresInamInimAlenimalenimalenrenmentrent.ToEnterMainterMainterMaintErmaintErmaintEncemememodeBoode,Interlecttheboo

Linux操作:管理文件,目錄和權限 Linux操作:管理文件,目錄和權限 Apr 23, 2025 am 12:19 AM

在Linux中,文件和目錄管理使用ls、cd、mkdir、rm、cp、mv命令,權限管理使用chmod、chown、chgrp命令。 1.文件和目錄管理命令如ls-l列出詳細信息,mkdir-p遞歸創建目錄。 2.權限管理命令如chmod755file設置文件權限,chownuserfile改變文件所有者,chgrpgroupfile改變文件所屬組。這些命令基於文件系統結構和用戶、組系統,通過系統調用和元數據實現操作和控制。

See all articles