gpt4 book ai didi

c++ - 在 C Linux 中捕获系统事件

转载 作者:IT王子 更新时间:2023-10-29 01:02:17 25 4
gpt4 key购买 nike

我正在 Linux 上编写一个应用程序,它需要我捕获系统事件,例如:

  1. 系统重启
  2. 用户“xyz”登录
  3. 'xyz' 应用程序崩溃等

并需要基于此执行一些功能。例如:

  1. 运行备份脚本
  2. 运行恢复程序等

谁能告诉我如何在 C/Linux 中捕获系统事件?

P.S: 我在这里不是在谈论“文件系统”事件 :P

最佳答案

没有“系统事件”的概念。您需要指定需要处理的事件并实现适当的机制来处理每个事件:

  • 系统启动:init 进程在启动时调用/etc/init.d 中的脚本。确切的基础设施在发行版之间略有不同,但是 Linux Standards Base System Initialization通常应该适用于所有人。

  • 用户登录/注销:LSB 还定义了 Pluggable Authentication Modules 的接口(interface)图书馆。您可以实现一个将在登录期间调用的共享库(以及其他需要身份验证和授权的操作)。根据您想要执行的操作,可能已经有适合您的模块,因此请先尝试寻找它。在任何一种情况下,我都不认为有独立于发行版的安装方式,即使在给定的发行版上,您也必须考虑到管理员可能进行了自定义修改,因此安装将需要管理员的手动干预。

  • 应用程序崩溃:您必须检测它。

关于c++ - 在 C Linux 中捕获系统事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13450496/

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