我有一个Linux守护进程,我希望收到有关标准电源状态更改的通知:sleep / resume,hibernate。 现在我使用pm-utils钩子,但我想知道是否有类似udev的东西(通过注册你可以接收有关设备的通知:添加/删除/更改/移动)。 acpid似乎旨在通知用户空间程序ACPI事件。我不知道它是否可以用作守护进程。
答案 0 :(得分:0)
据我所知,没有发送睡眠/唤醒相关事件的uevent广播公司。但是你可以自己发送一个uevent编写一个驱动程序,在收到PM_SUSPEND_PREPARE
/ PM_POST_SUSPEND
后立即生成并发送一个驱动程序。为此,您应该实现一个接收PM_ *通知的通知块,并使用register_pm_notifier(&your_notification_block)
将其注册到PM通知程序链。这意味着您可以编写一个翻译程序驱动程序,将PM_*
通知转换为uevent。
但是,当系统进入休眠状态时,内核会在挂起之前冻结所有进程。这意味着,虽然你的守护进程收到了你的守护进程,但是没有时间做你想做的事情。