解释,写入失败:cli php脚本的管道破裂消息


Interpreting, Write failed: Broken pipe message for cli php script

我正在用以下命令从ssh运行php脚本

./script.php &

脚本有一个循环,应该循环大约80万次(所以它需要几天的时间来运行)。然而,它目前正在停止数千个循环进入这个过程。我的错误处理程序没有从脚本中捕获任何错误,但控制台读取。

Write failed: Broken pipe

有谁能告诉我这条消息是什么意思,这表明了什么样的问题,以及我该如何去追踪它?

更新:

总结一下脚本所做的事情,它从我的数据库(与脚本托管在同一台服务器上)中的表中选择800,000行。对于每一行,它对第三方站点进行rest调用,然后将该数据写入同一数据库(与脚本托管在同一服务器上)中的不同表。

Broken pipe有两个原因:

  1. 程序正在写入管道,要么是因为它使用了popen()之类的函数,要么是因为脚本的输出被重定向到管道,并且程序从管道中读取退出(或由于其他原因关闭管道的末端)。

  2. 程序正在写入网络连接,该连接被另一端关闭。