cpr - Suspend and resume module
The cpr module is a loadable module used to suspend and resume the entire system. You might wish to suspend a system to save power or to power off temporarily for transport. The cpr module should not be used in place of a normal shutdown when performing any hardware reconfiguration or replacement. In order for the resume operation to succeed, it is important that the hardware configuration remain the same. When the system is suspended, the entire system state is preserved in non-volatile storage until a resume operation is conducted.
poweradm(1M) is used to configure the suspend-resume feature.
The speed of suspend and resume operations can range from 15 seconds to several minutes, depending on the system speed, memory size, and load.
During resume operation, the SIGTHAW signal is sent to all processes to allow them to do any special processing in response to suspend-resume operation. Normally applications are not required to do any special processing because of suspend-resume, but some specialized processes can use SIGTHAW to restore the state prior to suspend. For example, X can refresh the screen in response to SIGTHAW.
In some cases the cpr module can be unable to perform the suspend operation. If a system contains additional devices outside the standard shipped configuration, it is possible that device drivers for these additional devices might not support suspend-resume operations. In this case, the suspend fails and an error message is displayed. These devices must be removed or their device drivers unloaded for the suspend operation to succeed. Contact the device manufacturer to obtain a new version of device driver that supports suspend-resume.
A suspend can also fail when devices or processes are performing critical or time-sensitive operations (such as realtime operations). The system remains in its current running state. Messages reporting the failure are displayed on the console and status returned to the caller. Once the system is successfully suspended the resume operation succeeds, barring external influences such as a hardware reconfiguration.
Some network-based applications can fail across a suspend and resume cycle. This largely depends on the underlying network protocol and the applications involved. In general, applications that retry and automatically reestablish connections continues to operate transparently on a resume operation; those applications that do not likely fails.
See attributes(5) for descriptions of the following attributes:
Certain device operations such as tape activities are not able to be resumed due to the nature of removable media. These activities are detected at suspend time, and must be stopped before the suspend operation completes successfully.
Suspend-resume is currently supported only on a limited set of hardware platforms. Please see the book Using Power Management for a complete list of platforms that support system Power Management. See uname(2) to programatically determine if the machine supports suspend-resume.