商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > php 进程例子,用php守护另一个php进程的例子_php实例

php 进程例子,用php守护另一个php进程的例子_php实例

  发布于2026-07-11 阅读(0)

扫一扫,手机访问

PHP后端开发中,偶尔会遇到这样一个需求:一个常驻进程需要被另一个进程监控着,一旦挂了就马上拉起。听起来有点像进程守护,但又不希望用supervisor这类系统级工具,只想用纯PHP来实现。下面这个思路很实用,而且巧妙地避开了单纯靠进程名匹配可能带来的误判问题。

php 进程例子,用php守护另一个php进程的例子_php实例

核心逻辑其实很清晰:被守护的进程(b.php)在启动时把自己的进程ID写到一个专门的文件里(比如c.pid)。守护进程(a.php)定期去读这个文件,如果文件存在且不为空,就把里面的PID取出来,然后通过ps -p PID | grep 文件名来确认这个进程是否还活着。为什么不直接用ps aux | grep 文件名?因为如果服务器上有多个同名的PHP脚本在跑,grep出来的结果会一锅粥,根本分不清到底是不是你要的那个进程。用PID文件的方式精准定位,才是靠谱的做法。

下面是a.php的代码实现——

0) echo('runing');
else{echo 'not run';}
?>

而b.php作为被守护的一方,做的事情同样简单——

注意b.php里每循环一次都会重新写入PID,这个操作不是多余的——一旦进程因为某些原因被重启(比如手动kill后又被守护进程拉起),新的PID会即时更新,守护进程那边拿到的永远是当前正确的进程号。整个方案轻量、精准,没有外部依赖,很适合在多个并发的常驻进程场景下使用。

本文转载于:https://blog.csdn.net/weixin_31653971/article/details/116112789 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注