次のようにコードで pcntl 拡張機能を使用しました。ハンドラーを SIGUSR1 などのシグナルにバインドし、シグナルをアプリケーションに送信するスクリプトを作成しました。
pcntl_signal(SIGUSR1, function ($signo){
echo 'Signal:' . $signo . PHP_EOL;
});
そして、私はそのようなエラーがあります:
stream_get_contents(): Failure 'would block' (-9)
また、ssh (関数の一部) によるリモート コマンド実行のコードもあります。
$stream = ssh2_exec(
$this->connection,
$command,
$options['pty'],
$options['env'],
$options['width'],
$options['height'],
$options['width_height_type']
);
if ($options['waitOut']) {
stream_set_blocking($stream, true);
ここでシグナルが発生すると、次のエラーが発生します: "Failure 'would block' (-9)"
$output = stream_get_contents($stream);
}
fclose($stream);
return $output;
これを回避する方法はありますか?