您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman利用属性pidFile自定义进程pid文件
发布时间:2021-11-30 22:13:21编辑:雪饮阅读()
pidFile属性为全局静态属性,用来设置WorkerMan进程的pid文件路径。
此项设置在监控中比较有用,例如将WorkerMan的pid文件放入固定的目录中,可以方便一些监控软件读取pid文件,从而监控WorkerMan进程状态。
如果不设置,WorkerMan默认会在与Workerman目录平行的位置自动生成一个pid文件,并且为了避免启动多个WorkerMan实例导致pid冲突,WorkerMan生成pid文件包含了当前WorkerMan的路径
注意:此属性必须在Worker::runAll();运行前设置才有效。
实例:
test.php
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
Worker::$pidFile = '/var/run/workerman220807.pid';
$worker = new Worker('text://0.0.0.0:8484');
$worker->onWorkerStart = function($worker)
{
echo "Worker start";
};
// 运行worker
Worker::runAll();
?>
实例运行:
[root@izj6c2jeancylo0ppo4vz5z workerman]# php test.php start
Workerman[test.php] start in DEBUG mode
----------------------------------------- WORKERMAN -----------------------------------------
Workerman version:4.0.22 PHP version:7.0.33
------------------------------------------ WORKERS ------------------------------------------
proto user worker listen processes status
tcp root none text://0.0.0.0:8484 1 [OK]
---------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
Worker start
产生了pid文件:
[root@izj6c2jeancylo0ppo4vz5z ~]# cat /var/run/workerman220807.pid
4803
没有pidFile属性的实例:
test.php
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('text://0.0.0.0:8484');
$worker->onWorkerStart = function($worker)
{
echo "Worker start";
};
// 运行worker
Worker::runAll();
?>
没有pidFile属性的实例的运行:
[root@izj6c2jeancylo0ppo4vz5z workerman]# php test.php start
Workerman[test.php] start in DEBUG mode
----------------------------------------- WORKERMAN -----------------------------------------
Workerman version:4.0.22 PHP version:7.0.33
------------------------------------------ WORKERS ------------------------------------------
proto user worker listen processes status
tcp root none text://0.0.0.0:8484 1 [OK]
---------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
Worker start
产生了pid文件:
[root@izj6c2jeancylo0ppo4vz5z workerman]# cat vendor/workerman/_workerman_test.php.pid
6789
关键字词:workerman,pidFile,pid