gpt4 book ai didi

python - 接收 linux 信号并与线程交互

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:55 24 4
gpt4 key购买 nike

大家好:)
我有一个程序有 n 个线程(可能很多),它们的工作量很大。我的问题是有时有些人会关闭或重新启动服务器(程序在公司服务器上运行一整天)我知道有一种方法可以为 linux 信号创建一个处理程序我想知道我应该做什么来与之交互所有使它们使用的线程都运行一个函数,然后停止工作。有办法吗?

抱歉英语不好:P

最佳答案

处理此问题的最佳方法是根本不需要任何关闭操作。

例如,您的信号处理程序(例如)SIGTERM 或 SIGQUIT 可以只调用 _exit 并退出进程而不进行清理。

在 Linux 下(使用非旧线程)当一个线程调用 _exit(或者如果你真的想要退出)其他线程也会停止 - 无论它们正在做什么。

这会很好,因为它实现了仅崩溃设计。

服务器的 Crash-only 设计基于机器随时可能崩溃的原则,因此您无论如何都需要能够从这种故障中恢复,因此只需将其设为正常的退出方式即可。不需要额外的代码,因为您的服务器无论如何都应该足够健壮。

关于python - 接收 linux 信号并与线程交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4280432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com