优雅的退出asyncio事件循环
2024-10-20 06:37:52
import asyncio
import functools
import os
import signal """
信号值 符号 行为 2 SIGINT 进程终端,CTRL+C 9 SIGKILL 强制终端 15 SIGTEM 请求中断 20 SIGTOP 停止(挂起)进程 CRTL+D
""" def exit(sign_name):
print(f"获取信号{sign_name}: exit")
loop.stop() loop = asyncio.get_event_loop()
for sign_name in ('SIGINT', 'SIGTERM'):
loop.add_signal_handler(getattr(signal, sign_name),
functools.partial(exit, sign_name)) print(" Ctrl+C 停止运行.")
print(f"pid {os.getpid()}: 发送 SIGINT 和 SIGTERM 信号退出循环")
try:
loop.run_forever()
finally:
loop.close()
最新文章
- mysql 分页查询
- MariaDB 10.1配置
- koch曲线与koch雪花的MATLAB实现
- Codeforces Round #244 (Div. 2) A. Police Recruits
- tiny_cnn 阅读(1)
- PHP数组的一些常用函数
- ThinkPHP调试模式与日志记录
- Python 读写文件操作
- oracle中区分audit_file_dest, background_dump_dest, core_dump_dest, user_dump_dest
- [转载]【虚拟化系列】VMware vSphere 5.1 虚拟机管理
- H5 内联 SVG
- HDU-2017-字符串统计
- 性能测试资源监控工具nmon使用方法
- vue.js 配置移动端的url Scheme和iOS端配置url Scheme
- useradd语法2
- python chr()和ord()的含义和使用方法
- Linux U盘安装
- whu 1538 - B - Stones II 01背包
- 关于centos7.5部署oelinker_php版本的问题点汇总
- python-property、__get__、__set__