Uma maneira de fazer isso é através da interface /sys/power
. A maneira usual de induzir a hibernação (usada por várias ferramentas de nível superior) é gravar em alguns campos:
echo shutdown > /sys/power/disk
echo disk > /sys/power/state
Eu acredito que o primeiro define a metodologia e o segundo aciona a mudança. 1 No entanto, se você ler a partir desses nós, você terá uma lista de possibilidades:
> cat /sys/power/disk
platform [shutdown] reboot suspend
> cat /sys/power/state
freeze standby mem disk
Como shutdown
e disk
estão disponíveis, a máquina pode ser colocada em hibernação.
1 Você também pode definir platform
on /sys/power/disk
para fazer a mesma coisa através do hardware ACPI do sistema, presumindo que o driver funcione corretamente, e echo mem > /sys/power/state
coloca a máquina em suspensão (estado salvo em ram) .