牛牛在线工具

EvChild::createStopped()

收录 8868 个 PHP 函数,含用途说明与用法示例。

EvChild::createStopped()

创建一个EvChild对象,但该对象会被创建为“停止”状态,即不会立即开始运行

函数名:EvChild::createStopped() 适用版本:PHP Ev extension 0.2.0 或更高版本 用法:EvChild::createStopped() 函数用于创建一个EvChild对象,但该对象会被创建为“停止”状态,即不会立即开始运行。这种对象通常用于异步处理子进程。可以在后续的代码中使用 EvChild::start() 方法来启动该对象。 示例: $loop = new EvLoop(); $child = EvChild::createStopped(function($watcher, $pid, $signum) { // 子进程结束时会执行这里的回调函数 echo "子进程结束: " . $pid . ", 信号: " . $signum . PHP_EOL; }); // 手动设置子进程id $child->setPid(1234); // 启用子进程的 watcher 事件 $child->start(); // 假设在某个时刻需要杀死子进程 posix_kill($child->pid, SIGKILL); // 程序继续执行其他操作 // 停止子进程的 watcher 事件 $child->stop(); // 输出结果示例: // 子进程结束: 1234, 信号: 9 在上面的示例中,我们首先创建了一个 EvLoop 对象,然后使用 EvChild::createStopped() 函数创建了一个 EvChild 对象,并传入一个回调函数来处理子进程结束的情况。接下来,我们手动设置了子进程的 id,并通过调用 EvChild::start() 方法来启动该对象的事件监听。在需要结束子进程时,我们使用 posix_kill() 函数发送了一个 SIGKILL 信号。最后,通过调用 EvChild::stop() 方法停止了子进程的事件监听。