Linux挂起/恢复操作';用户空间通知

Linux挂起/恢复操作';用户空间通知,linux,linux-kernel,power-management,netlink,userspace,Linux,Linux Kernel,Power Management,Netlink,Userspace,我在一个嵌入式linux平台上工作 当我执行“echo”mem“>/sys/power/state”时,系统将挂起 我知道内核和驱动程序可以知道挂起操作即将到来。但是,用户空间进程或应用程序是否可能收到系统将挂起的通知?怎么做 例如,我有一个应用程序,它不断地将“A”写入一个缓冲区,缓冲区的起始地址由设备驱动程序给出。是否有可能通知此应用程序系统将挂起,以便它可以用“B”替换所有缓冲区,这样当驱动程序恢复时,驱动程序看到的所有内容都是“B” 非常感谢。一直在寻找同样的东西。但不幸的是,我在挂起/

我在一个嵌入式linux平台上工作

当我执行“echo”mem“>/sys/power/state”时,系统将挂起

我知道内核和驱动程序可以知道挂起操作即将到来。但是,用户空间进程或应用程序是否可能收到系统将挂起的通知?怎么做

例如,我有一个应用程序,它不断地将“A”写入一个缓冲区,缓冲区的起始地址由设备驱动程序给出。是否有可能通知此应用程序系统将挂起,以便它可以用“B”替换所有缓冲区,这样当驱动程序恢复时,驱动程序看到的所有内容都是“B”


非常感谢。

一直在寻找同样的东西。但不幸的是,我在挂起/恢复期间没有发现任何用户空间通知。应用程序只是冷藏/冻结,他们永远不会知道它们被暂停

但是,一种可能的方法是从任何驱动程序的挂起/恢复功能添加一个通用的netlink消息发送或uevent,您可以修改它。然而,应用程序在冻结之前可能永远没有足够的时间来处理它,这可能会导致竞争条件。假设它收到了挂起消息并在处理它之前被冻结。一旦恢复,它将处理挂起消息


依我看,最好在驱动程序中处理该场景。不要占用用户空间。

我不确定它是否对您特别有用,因为提到了“嵌入式”,但是systemd可以通过DBus通知您:

非常感谢。我应该早点给你回信的。我已经找了很久了,但什么也没找到。最后我得出了一个结论,申请将被冻结,对暂停申请一无所知。