Rust 默认忽略 SIGPIPE 信号
自 2014 年起,Unix 平台上的 Rust 运行时就将SIGPIPE信号处理器设置为SIG_IGN(忽略)。然而,应用程序可能有充分理由需要不同的行为,因此提供了一个-Zon-broken-pipe编译器标志,可用于在fn main()被调用前选择如何设置SIGPIPE(如果要更改的话)。
自 2014 年起,Unix 平台上的 Rust 运行时就将SIGPIPE信号处理器设置为SIG_IGN(忽略)。然而,应用程序可能有充分理由需要不同的行为,因此提供了一个-Zon-broken-pipe编译器标志,可用于在fn main()被调用前选择如何设置SIGPIPE(如果要更改的话)。
在 MAC 上调试代码,用的调试器一般是 LLDB,默认情况下信号不会传递给被调试程序。 以SIGINT为例,如果想调试它的信号处理器,暂停程序执行后执行下面的代码,让调试器把信号传递给程序。也可以把