首页主机资讯Linux Trigger支持哪些事件触发

Linux Trigger支持哪些事件触发

时间2025-11-28 02:08:05发布访客分类主机资讯浏览460
导读:Linux 中的 Trigger 类型与事件范围 在 Linux 语境中,“trigger”并非单一组件,而是对“基于事件自动执行动作”的统称。常见触发维度包括:时间触发、文件系统触发、输入设备触发、进程与信号触发、网络与系统事件触发以及软...

Linux 中的 Trigger 类型与事件范围

在 Linux 语境中,“trigger”并非单一组件,而是对“基于事件自动执行动作”的统称。常见触发维度包括:时间触发文件系统触发输入设备触发进程与信号触发网络与系统事件触发以及软件包管理触发等。下面按场景归纳可触发的事件类型与代表机制。

常见触发类别与代表事件

类别 典型事件 代表机制或工具
时间触发 按分钟/小时/日/月/周执行;支持**@reboot**、@hourly等预设 cronsystemd timer
文件系统触发 文件/目录的创建/删除/修改/移动打开/关闭元数据变更(权限、时间戳等) inotify(命令行如 inotifywait/inotifywatch,或各类语言库)
输入设备触发 按键(按下/释放/重复)、相对位移(鼠标移动)、绝对坐标(触摸屏)、触摸接触/多指手势设备插拔 evdev/input 子系统(/dev/input/event*)
进程与信号触发 进程启动/退出、收到SIGINT/SIGTERM等信号 信号systemd 服务状态变化
网络与系统事件触发 端口访问/连接触发动作、接口上线/下线等网络状态变化 iptables 规则、systemd 网络事件
软件包管理触发 安装/升级/删除时执行维护动作 dpkg-trigger(Debian 系列)
日志与监控触发 日志出现关键字阈值越界(CPU/内存等) Logwatch/ELK、自定义脚本+阈值判断
容器生命周期触发 容器启动/停止/重启等钩子 Docker 事件/钩子
上述类别覆盖了绝大多数运维与开发中的“事件→动作”需求,从定时到事件驱动、从内核到用户态均可组合使用。

文件系统事件 inotify 支持的事件

  • 访问与修改
    • IN_ACCESS:文件被读取(如 open+read)
    • IN_MODIFY:文件被写入(write/truncate)
    • IN_ATTRIB:元数据变更(权限、时间戳、链接数、属主等)
    • IN_OPEN:文件或目录被打开
    • IN_CLOSE_WRITE:可写文件关闭(保存)
    • IN_CLOSE_NOWRITE:只读文件或目录关闭
    • 便捷掩码:IN_CLOSE = IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
  • 创建与删除
    • IN_CREATE:被监控目录内创建子项
    • IN_DELETE:被监控目录内删除子项
    • IN_DELETE_SELF:被监控对象本身被删除(随后常见 IN_IGNORED
  • 移动与重命名
    • IN_MOVED_FROM:条目移出监控目录(含 cookie 用于配对)
    • IN_MOVED_TO:条目移入监控目录(含 cookie 用于配对)
    • IN_MOVE_SELF:被监控对象本身被移动
    • 便捷掩码:IN_MOVE = IN_MOVED_FROM | IN_MOVED_TO
  • 其他
    • IN_UNMOUNT:被监控对象所在文件系统被卸载
    • IN_IGNORED:监控被移除或失效
    • 常用选项:IN_ONESHOT(仅触发一次后移除监控) 说明:以上事件由内核 inotify 子系统产生,命令行工具如 inotifywait/inotifywatch 或各类语言绑定均可订阅并处理。

输入设备事件 evdev 支持的事件类型

  • EV_SYN:同步标记
    • SYN_REPORT:一批事件在同一时刻完成同步提交
    • SYN_MT_REPORT:多点触控分组提交
    • SYN_DROPPED:事件队列溢出,需重新查询设备状态
  • EV_KEY:按键/按钮
    • 键盘:KEY_A 等;按下/释放/自动重复(value=1/0/2)
    • 工具/触控:BTN_TOOL_FINGER/PENBTN_TOUCH
  • EV_REL:相对坐标
    • 鼠标移动:REL_X/REL_Y;滚轮:REL_WHEEL/REL_HWHEEL
  • EV_ABS:绝对坐标
    • 触摸屏/平板:ABS_X/ABS_Y/ABS_PRESSURE
    • 距离/多指:ABS_DISTANCEABS_MT_*(多点触控协议)
  • EV_MSC:杂项
  • EV_SW:开关状态(如 SW_LID 笔记本合盖)
  • EV_LED:设备 LED
  • EV_SND:简单发声
  • EV_REP:自动重复参数
  • EV_FF / EV_FF_STATUS:力反馈与状态
  • EV_PWR:电源相关 这些类型构成 Linux 输入子系统的事件框架,/dev/input/event* 设备节点以 struct input_event 流的形式上报。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux Trigger支持哪些事件触发
本文地址: https://pptw.com/jishu/758590.html
Linux Trigger与其他自动化工具的比较 Linux Trigger在集群中的应用场景

游客 回复需填写必要信息