Мне удалось выяснить, как приостановить / перевести систему в спящий режим из командной строки, прочитав Как перевести систему в спящий режим / режим гибернации из командной строки? .
Тем не менее, я хотел бы знать, как использовать командную строку для приостановки / гибернации в данный момент времени в абсолютном (например, в 11 вечера) или относительном (например, в течение 30 минут) терминах.
Я уже знаю, как сделать это с выключением, но я уверен, что команда похожа.
Можно использовать at
управляйте для планирования любого действия, включая выполнение команд, детализированных в том вопросе.
Например, если Вы хотите быть в спящем режиме через 30 минут:
echo 'pmi action hibernate' | at now + 30 min
Или если Вы хотите приостановить в 23:00:
echo 'pmi action suspend' | at 11pm
Если необходимо выполнить команду как root
, выполненный at
с sudo
вместо самой команды с sudo
(так как sudo
должен только быть выполнен в интерактивном режиме, если Вы не настроили его для не просьбы пароль). Например, эквиваленты вышеупомянутого использования команд pm-hibernate
и pm-suspend
:
echo pm-hibernate | sudo at now + 30 min
echo pm-suspend | sudo at 11pm
Для относительной спецификации (например, «через 30 минут») вы можете просто использовать команду sleep
, чтобы заставить команду приостановки / гибернации ждать.
Подождите 30 минут, затем приостановите:
sudo sleep 30m; sudo pm-suspend
Подождите 1 час, затем перейдите в спящий режим:
sudo sleep 1h; sudo pm-hibernate
В течение определенного повторного времени - например, выключение компьютеров - это определенное время каждый день. используйте хрон.
crontab -e
добавить следующее:
15 14 1 * * pmi action suspend
Если вы хотите настроить его.
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Для единовременного задания используйте команду at
Например, если вы хотите перейти в спящий режим через 30 минут:
echo 'pmi action hibernate' | at now + 30 min
Или если вы хотите приостановить в 11 : 00:00:
echo 'pmi action suspend' | at 11pm