如何激起破损的水管

Mar*_*cel 5 pipe python socket mpd

我尝试使用python-mpd2调试与MPD接口的 python 脚本。

当脚本在闲置几个小时后尝试执行某个操作时,它会因异常而终止(BrokenPipeError在 Python 3 中,socket.pipe在 Python 2 中 -[Errno 32] Broken pipe在这两种情况下)。

事实上,损坏的管道只有在闲置数小时后才会出现,这使得调试速度极其缓慢。

有没有办法手动引发相同的行为 - mpd 的管道损坏?

Arc*_*mar 2

根据man 7 signal

SIGPIPE 13 术语 管道损坏:写入没有读取器的管道

所以答案应该是

kill -13 1234
Run Code Online (Sandbox Code Playgroud)

(1234是你的PID)

(水管断了会带来霉运吗?)