I want to know how I can detect whether the system is going to a standby mode in Linux using C. I found a message called WM_POWERBROADCAST
in windows for that purpose, which sends this message before going to the sleep mode.
Is there any alternatives in C, for Linux?
I heard that DBus can be used for same purpose, could somebody explain it more?
Finally I found a solution.
We can use the pm utility for that.
If you put any shell script in /etc/pm/sleep.d folder it will be executed automatically just before the system going to sleep and after the system is resumed.
The content will be like
#!/bin/bash
case $1 in
suspend)
#suspending to RAM
/home/harikrishnan/Desktop/sleepd Sleeping
;;
resume)
#resume from suspend
sleep 3
/home/harikrishnan/Desktop/sleepd Woken
;;
esac
here it will execute the /home/harikrishnan/Desktop/sleepd program with the arguments
AFAIK there's no such signal in Linux, but you can try
a) acpid
daemon hooks, if its present, acpid configs are usually in /etc/acpi
b) DBus daemon hooks, again if its presend on a system
c) reading acpid
sources to see how it gets the signals
d) writing your own kernel module
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With