10-25-2011
Hibernate and Suspend
I have a C++ program which ends up getting run on every conceivable distro. What I can't do in C++, I can do by shelling out to the O/S. I am trying to find a portable way to send the system into hibernate and suspend modes. For users who have pm-utils, of course, I can use that, but I am trying to figure out how to do the same things when that package isn't present.
I have found a lot of Web articles that tell me to do things like:
echo -n mem > /sys/power/state
but I find that some of the virtuals I create to test contain disk mode but not mem mode or the other way around, and none of these thousands upon thousands of articles even hints at how this works.
I am willing to have my software do different things in different places and am trying to understand the basic principles, but 99.9% of the articles I read on the Web just re-quote the same two or three quick tips.
Can anyone point me towards more understanding of acpi for Linux?
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I have this doubt....
When some program is running and if we press CTRL+Z...it is suspended...
what should we do to continue its execution
I know that KILL can be used to completely terminate the process....but is there any way to continue...
Thanks (3 Replies)
Discussion started by: proton
3 Replies
2. Shell Programming and Scripting
Hello,
Two child processes work at the same time because they communicate one another. In KSH, does it exist a good way to suspend a parent process until one of the two child processes stops. It seems that the command 'wait' works well for one process but for two processes, it suspends the... (7 Replies)
Discussion started by: piou78
7 Replies
3. AIX
We have an AIX machine running Tomcat 5.0.28 along with Java 1.5. There are two web application on there however when we start Tomcat and unpack the WAR files only one of the sites work. Then if we remove the working site then the other site starts to work. So it appears that one is taking... (0 Replies)
Discussion started by: coaxis
0 Replies
4. Linux
Hi,
I want to enable hibernate in my machine.
when i click hibernate option, it is throwing message that hibernate is not enabled in kernel.
earlier, i was hibernating in the same machine with windows os.
any idea ?
Thx in advance.
Siva (0 Replies)
Discussion started by: Sivaswami
0 Replies
5. Red Hat
1) How to enable Hibernate in Linux ?
2) Does compiling kernel from source code
alters the current setup of the kernel after implementation
Thx in advance,
siva. (3 Replies)
Discussion started by: Sivaswami
3 Replies
6. Shell Programming and Scripting
I'd like to use a shell script to edit the params in my hibernate.cfg.xml file.
I need to substitute the database info(user name, password,url)
Here is a look at it:
<hibernate-configuration>
<session-factory name="">
<property... (1 Reply)
Discussion started by: mc1392
1 Replies
7. Solaris
How does one enable the suspend to hard drive or ram and sleep features on a desktiop running Open Solaris? (2 Replies)
Discussion started by: FloridaBSD
2 Replies
8. Ubuntu
Title says it all. Occasionally but frequently I lose sound: external speakers and headphones both make no noise. I just realized that this tends to happen (perhaps only happens) after starting the computer following hibernation. Rebooting always fixes the issue... but I'd hate to tell my... (3 Replies)
Discussion started by: CRGreathouse
3 Replies
LEARN ABOUT PHP
systemd-suspend.service
SYSTEMD-SUSPEND.SERVICE(8) systemd-suspend.service SYSTEMD-SUSPEND.SERVICE(8)
NAME
systemd-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, systemd-suspend-then-hibernate.service, systemd-sleep -
System sleep state logic
SYNOPSIS
systemd-suspend.service
systemd-hibernate.service
systemd-hybrid-sleep.service
systemd-suspend-then-hibernate.service
/lib/systemd/system-sleep
DESCRIPTION
systemd-suspend.service is a system service that is pulled in by suspend.target and is responsible for the actual system suspend.
Similarly, systemd-hibernate.service is pulled in by hibernate.target to execute the actual hibernation. Finally,
systemd-hybrid-sleep.service is pulled in by hybrid-sleep.target to execute hybrid hibernation with system suspend and pulled in by
suspend-then-hibernate.target to execute system suspend with a timeout that will activate hibernate later.
Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will
run all executables in /lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be "pre", the second either
"suspend", "hibernate", "hybrid-sleep", or "suspend-then-hibernate" depending on the chosen action. Immediately after leaving system
suspend and/or hibernation the same executables are run, but the first argument is now "post". All executables in this directory are
executed in parallel, and execution of the action is not continued until all executables have finished.
Note that scripts or binaries dropped in /lib/systemd/system-sleep/ are intended for local use only and should be considered hacks. If
applications want to react to system suspend/hibernation and resume, they should rather use the Inhibitor interface[1].
Note that systemd-suspend.service, systemd-hibernate.service, and systemd-hybrid-sleep.service systemd-suspend-then-hibernate.service
should never be executed directly. Instead, trigger system sleep states with a command such as "systemctl suspend" or similar.
Internally, this service will echo a string like "mem" into /sys/power/state, to trigger the actual system suspend. What exactly is written
where can be configured in the "[Sleep]" section of /etc/systemd/sleep.conf or a sleep.conf.d file. See systemd-sleep.conf(5).
OPTIONS
systemd-sleep understands the following commands:
-h, --help
Print a short help text and exit.
--version
Print a short version string and exit.
suspend, hibernate, hybrid-sleep, suspend-then-hibernate
Suspend, hibernate, suspend then hibernate, or put the system to hybrid sleep.
SEE ALSO
systemd-sleep.conf(5), systemd(1), systemctl(1), systemd.special(7), systemd-halt.service(8)
NOTES
1. Inhibitor interface
https://www.freedesktop.org/wiki/Software/systemd/inhibit
systemd 237 SYSTEMD-SUSPEND.SERVICE(8)