Как я могу hibernate / приостановить из командной строки и сделать это в определенное время

Мне удалось выяснить, как приостановить / перевести систему в спящий режим из командной строки, прочитав Как перевести систему в спящий режим / режим гибернации из командной строки? .

Тем не менее, я хотел бы знать, как использовать командную строку для приостановки / гибернации в данный момент времени в абсолютном (например, в 11 вечера) или относительном (например, в течение 30 минут) терминах.

Я уже знаю, как сделать это с выключением, но я уверен, что команда похожа.

36
задан 13 April 2017 в 15:24

3 ответа

Можно использовать 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

43
ответ дан 13 April 2017 в 15:24

Для относительной спецификации (например, «через 30 минут») вы можете просто использовать команду sleep, чтобы заставить команду приостановки / гибернации ждать.


Примеры:

Подождите 30 минут, затем приостановите:

sudo sleep 30m; sudo pm-suspend

Подождите 1 час, затем перейдите в спящий режим:

sudo sleep 1h; sudo pm-hibernate
0
ответ дан 13 April 2017 в 15:24

В течение определенного повторного времени - например, выключение компьютеров - это определенное время каждый день. используйте хрон.

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
0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: