猿问

PHP如何模拟SIGPIPE?

我的环境:Ubuntu 18.04 LTS PHP 7.2.2 ZTS 无调试


我有一个很大的应用程序,有时Broken pipe会发生错误。我想处理它,但为此我需要模拟此错误以进行开发。我怎样才能做到这一点 ?


我试过了:


posix_kill(posix_getpid(), SIGPIPE);

while(1) {

    sleep(5);

}

还:


sudo kill -13 pid

但脚本继续工作。


预期结果:


Thread 1 "php" received signal SIGPIPE, Broken pipe.

并且脚本应该停止。


呼唤远方
浏览 164回答 1
1回答

红糖糍粑

我的环境:Ubuntu 18.04 LTS PHP 7.2.2 ZTS 无调试我有一个很大的应用程序,有时Broken pipe会发生错误。我想处理它,但为此我需要模拟此错误以进行开发。我怎样才能做到这一点 ?我试过了:posix_kill(posix_getpid(), SIGPIPE);while(1) {    sleep(5);}还:sudo kill -13 pid但脚本继续工作。预期结果:Thread 1 "php" received signal SIGPIPE, Broken pipe.并且脚本应该停止。
随时随地看视频慕课网APP
我要回答