函數(shù):EvSignal::createStopped()
適用版本:EvExtension >= 1.0
用法: EvSignal::createStopped() 函數(shù)用于創(chuàng)建一個已停止的 EvSignal 事件監(jiān)聽器對象。
示例:
<?php
$loop = new EvLoop();
$signal = EvSignal::createStopped(SIGINT, function ($signal) use ($loop) {
echo "Received SIGINT signal\n";
// 停止事件循環(huán)
$loop->stop();
});
// 啟動事件監(jiān)聽器
$signal->start();
// 停止事件監(jiān)聽器
$signal->stop();
// 開始事件循環(huán)
$loop->run();
echo "Event loop stopped\n";
?>
在上面的示例中,創(chuàng)建了一個已停止的 EvSignal 事件監(jiān)聽器對象,用于監(jiān)聽 SIGINT 信號。當接收到 SIGINT 信號時,會在回調函數(shù)內部打印一條消息,并通過調用 $loop->stop() 停止事件循環(huán)。最后,打印出 "Event loop stopped" 消息表示事件循環(huán)已停止。
請注意,雖然事件監(jiān)聽器被創(chuàng)建為已停止狀態(tài),但我們仍然需要手動調用 $signal->start() 方法來啟動事件監(jiān)聽器。如果沒有調用 $signal->start() 方法,事件監(jiān)聽器將不會起作用。