Если я хочу завершить работу своей системы через 30 минут с telinit, как я мог сделать это? Я знаю, что с завершением работы легче, но только для знания его.
Используя at
:
at now + 30 minutes <<<'telinit 0'
Или использование sleep 30m; telinit 0
.
telinit
самостоятельно не может сделать этого. Необходимо будет использовать другие инструменты в комбинации. at
и sleep
и позвольте Вам отменять операцию (с atrm
для at
и Ctrl C для другого).
Как предложение, не адресуя к Вашему вопросу непосредственно. Даже at
команда не установлена по умолчанию, и sleep
с telinit большой выбор: Если Вы хотите попробовать другой инструмент кроме telinit, Вы могли бы попробовать перезагрузка с в :
echo reboot | at now +30 m
# telinit 0
<час>Runlevel 0 является режимом останова. Сообщение init для ввода runlevel 0 заставит все процессы быть избавленными, файловые системы, размонтированные, и машина, которая будет остановлена. Это - совершенно приемлемый способ снизить систему. На многих ноутбуках и современных настольных компьютерах, это также заставит машину быть выключенной. Источник
Дополнительный в случае, если кто-то задается вопросом о перезагрузке:
# telinit 6
<час>Runlevel 6 является режимом перезагрузки. От всех процессов избавятся, файловые системы будут размонтированы, и машина будет перезагружена. Это - совершенно приемлемый метод перезагрузки системы. Источник
Для выполнения чего-то в будущем мы имеем "при" команде. Это было бы:
# at now+30 minutes <<<'telinit 0'
или сон:
# sleep 1800 && telinit 0
(1 800 секунд)