Отложенный запуск команд в Linux

Представим себе ситуацию, что вы запустили на компьютере какой-нибудь процесс, который займет некоторое время, а вам нужно срочно уходить. Как выключить компьютер по завершению операции, если вас рядом нет?

Можно попросить выключить компьютер свою бабушку, но этот вариант довольно рискован, ведь она может обнаружить ваши запасы веселых картинок и разных увлекательных фильмов, где тети кричат, и сдать вас родителям. Этот вариант явно не продвинутого пользователя. Продвинутый пользователь вспомнит о таких полезных командах, как at и sleep.

Внучек не использовал команду at

Команда at

Команда at позволяет выполнить sh-сценарий строго в указанное время. Например, нам нужно выключить компьютер в 10:00. Для этого запускаем терминал и вводим:

at 10:00

После этого компьютер будет ожидать ввода списка команд, которые потребуется выполнить в назначенное время. Напишем команду halt (выключение), нажмем Enter и затем Ctrl-D для выхода. Операционная система принимает задание и мы можем быть уверенными, что компьютер выключится ровно в 10:00.

Команда at умеет понимать разные форматы времени. Можно использовать такие ключевые слова, как now, today, tomorrow, days и т.д. Например, чтобы запустить задачу в 16:00 через три дня после сегодняшнего нужно ввести at 16:00 + 3 days. За полным списком возможностей следует обратиться к руководству программы at.

Команда sleep

Команда sleep, как следует из названия, засыпает на указанное в качестве аргумента время, а потом завершается. На первый взгляд, какую же мы можем извлечь выгоду из этого бессмысленного действия? А вот какую. Например, нам нужно, чтобы торрент-клиент запустился ночью. Смотрим на часы и определяем, что ночь у нас наступит, например, через 4 часа. Запускаем терминал и задаем следующую команду:

sleep 4h && transmission-gtk

Пытливый читатель, наверное, спросит что делать, если ночь настанет не ровно через 4 часа, а, скажем, через 4 часа и 30 минут. Решение этой проблемы выглядит просто и элегантно:

sleep 3h && sleep 30m && transmission-gtk

Команда sleep при всей своей простоте настолько универсальна, что диву даешься. Например, с помощью sleep можно заставить операционную систему завершить какую-либо программу в установленное время. Например, выключим загрузку торрентов через 8 часов:

sleep 8h && pkill transmission-gtk

Изобретение остроумных комбинаций с командами at и sleep не только является отличной разминкой для ума, но и способно значительно улучшить качество вашей работы на компьютере.

Он разобрался как использовать команды at и sleep
Фото 1. Он разобрался как использовать команды at и sleep.

Ваша оценка: Нет Средняя оценка: 4.5 (8 votes)
a

sleep 3h && sleep 30m && transmission-gtk

А так не проще разве:

sleep 3h 30m && transmission-gtk

?

Вот, скажем, простенький будильник для пользователей vlc:

sleep 5h 31m && vlc ~/Audio/Sounds/Wazzup.mp3 -L
Ваша оценка: Нет Средняя оценка: 4.8 (6 votes)
a

А можно и так: sleep 3.5h

Ваша оценка: Нет Средняя оценка: 3.3 (3 votes)
a

а можно вообще никак

Ваша оценка: Нет Средняя оценка: 2.2 (6 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.