How to write a pm-utils hook: PARAMETERS A pm-utils hook is simply an executable file that accepts a single parameter. For hooks in sleep.d, the potential values of that parameter are: suspend -- The hook MUST perform whatever action is appropriate when the system is preparing for S3 sleep (or its equivalent). resume -- The hook MUST perform whatever action is appropriate when the system is coming out of suspend. hibernate -- The hook MUST perform whatever action is appropriate when the system is preparing for suspend-to-disk. thaw -- The hook MUST perform whatever action is appropriate when the system is coming out of suspend-to-disk. For hooks in power.d, the potential values of that parameter are: true -- the hook MUST perform whatever action is appropriate when the system transitions TO battery power. false -- The hook MUST perform whatever action is appropriate when the system transitions FROM battery power. NAMING SCHEME All hooks are run in lexical sort order according to the C locale. SLEEP.D SPECIFIC NOTES For any given sleep/wakeup cycle, the hooks in sleep.d are run twice: * Once in C lexical sort order before the system goes to sleep, and * Once in reverse C lexical sort order when the system wakes up. CONVENIENCE FUNCTIONS If your hook is a shell script that supports POSIX/SuS compatible syntax, you MAY source /usr/lib/pm-utils/functions, which will perform the following actions: 1: All settings present in the files located in /etc/pm/config.d/ will be available as environment variables. 2: The following convenience functions will be made available: 1: try_lock 2: spin_lock 3: release_lock 4: get_power_status 5: modunload 6: modreload 7: stopservice 8: restartservice 9: savestate 10: restorestate To get an overview of what each of those functions does and the parameters they accept, read the fine source. Note that other functions may be present -- those functions are internal to the pm-utils package and MUST NOT be used by external hooks. In the future, those functions will not be available to third-party hooks.