![](https://img.haomeiwen.com/i27226870/65fd1d8baa819187.png)
这里的主要问题是我停止 less -S 命令后,管道符前面的程序还在输出,导致管道破裂。
python 脚本解决办法
import signal
# 忽略 SIGPIPE 信号
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
# 在这里执行需要输出数据的代码,如:
print("hello world")
Rust 语言解决办法 Linux 系统
use libc;
fn main() {
unsafe {
libc::signal(libc::SIGPIPE, libc::SIG_DFL);
}
// rest of the code
writer.write_record(&record).unwrap(); 改成下面
writer.write_record(&record).unwrap_or_default();
}
同时
添加依赖
[dependencies]
libc = "0.2"
![](https://img.haomeiwen.com/i27226870/b839637976f5800d.png)
网友评论