libevent入门教程:简单示例
信号
使用libevent捕获系统信号。
函数调用流程图为
flowchart TB
A(Start) --> B[event_init]
B --> C[event_new]
C --> D[event_add]
D --> E[event_base_dispatch]
E --> F[event_free]
F --> G(End)
对应代码为
1 |
|
- event_new定义信号事件,参数指定了哪个实例、信号是谁、如何处理信号,信号处理回调函数,回调函数传入参数
- event_add事件注册,参数指定了添加事件、事件超时事件
编译命令
1 |
|
运行程序,使用Ctrl+C
结束程序
1 |
|
一直捕获到结束信号。
定时器
1 |
|
编译运行输出为
1 |
|
系统信号在程序运行时捕获,定时器只捕获一次。
源码
信号和定时器代码可以整合一下
1 |
|
libevent入门教程:简单示例
https://blog.jackeylea.com/libevent/simple-example-of-libevent/