原标题:《Is it safe to call print in a Python signal handler?》 评分: 20 | 作者: hellerve 💭 都进 signal handler 了还想安全 print? 🎯 讨论背景 这条讨论围绕 Python 里是否能在 signal handler 中调用 `print ` 展开。关键背景是:Python 的信号处理并不是直接在底层 C signal handler 里执行用户代码,而通常是先由解释器记录一个待处理信号,再在合适时机运行 Python 层 handler;但这并不自动消除异步重入、锁、I/O 和解释器状态相关的风险。评论把话题扩展到 POSIX signals 的历史问题、Linux 上 signals 与 threads 的组合、以及更现代的替代方案如 `signalfd(Linux 的信号文件描述符接口)` 和 self-pipe 技巧。讨论还提到 event loop、跨操作系统行为差异、以及程序退出和资源清理时的可靠性问题,这些都是实际工程里经常踩坑的地方。 📌 讨论焦点 信号处理里的 reen