The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа
next up previous contents index
Next: Настройка оболочки Up: Управление заданиями Previous: Прекращение задания   Contents   Index

Запуск заданий в требуемый момент

Команды batch и at позволяют Вам определять время запуска команды или последовательности команд. При помощи команды batch система определяет время запуска команды, Вы это можете определить с помощью команды at. Обе команды ожидают ввод со стандартного ввода (терминала); список команд, вводимых с терминала, должен завершаться нажатием клавиши ^d (одновременное нажатие клавиши Ctrl и клавиши d).

Команда batch очень полезна, если Вы запускаете процесс или программу, которые занимают много системного времени. Команда batch представляет системе задание (содержащее последовательность команд для выполнения). Задание ставится в очередь и запускается как только у системы появляется возможность. Это позволяет системе быстро отвечать на запросы других пользователей. Общий формат команды batch:

      batch
      первая команда
      . . .
      последняя команда
      <^d>

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

        batch command_line

В следующем примере batch используется для выполнения команды grep в согласованное время. Команда grep осуществляет поиск всех файлов в текущем каталоге и перенаправляет вывод в файл dol.file.

      $ batch
      grep dollar * > dol.file
      <^d>
      job 155223141.b at Sun Dec 11:14:54 1989
      $

После того как Вы зададите задание batch, система выдаст ответ, в котором даны номер задания, дата и время. Номер задания не то же самое, что номер процесса, который система генерирует, когда Вы запускаете команду в фоновом режиме.

Команда at позволяет Вам указывать точное время выполнения команд. Общий формат команды at:

      at time
      первая команда
      . .  .
      последняя команда
      <^d>
Аргумент time состоит из времени дня и даты, если дата не сегодняшняя.

В следующем примере показано, как использовать команду at для посылки сообщения happy birthday пользователю с регистрационным именем emily:

      $
      at 8:15am Feb 27
      banner happy birthday | mail emily
      <^d>
      $

Обратите внимание, что команда at подобно команде batch выдает ответ с номером задания, датой и временем.

Если Вы не хотите, чтобы команды, находящиеся в данный момент в очереди заданий batch или at были выполнены, то можете удалить их из очереди. Для этого воспользуйтесь опцией -r в команде at, указав ее с номером задания. Общий формат такой команды:

       at -r jobnumber
Если Вы забыли номер задания, то команда at -l распечатает Вам список текущих заданий в очереди batch или at, как показано на следующем экране:
      $ at -l
      CW user mylogin 168302040.a at Sat Nov 25 13:00:00 1989
      user mylogin 453400603.a at Fri Feb 24 08:15:00 1989
      $

Таким образом команда at выполняет команды в указанное время. Вы можете использовать от одной до 4-х цифр и буквосочетания "am" и "pm", чтобы указать время. Чтобы указать дату, задайте имя месяца и вслед за ним число. Если задание должно быть выполнено сегодня, то дату вводить не надо.



Alex Otwagin 2002-12-16

  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor