Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

это время уже прошло)

at now + 1 hour — через час at 9am tomorrow — завтра в 9:00 утра

at 15:00 May 24 — 24 мая в 15:00 at 4am + 3 days — через 3 дня в 4:00 утра

Если необходимо запустить с помощью команды at файл сценария, укажите его имя после опции -f, как это сделано ниже:

$ at 3.00pm tomorrow -f /apps/bin/db_table.sh

warning: commands will be executed using /bin/sh job 8 at 1999-05-06 15:00

Сценарий db_table.sh будет выполнен завтра в 15:00. Передать задание команде at позволяет также команда echo? $ echo find /etc -name "passwd" — print | at now +1 minute

3.2.2. Просмотр списка запланированных заданий

Для того чтобы просмотреть полный список запланированных заданий, введите команду at -l или atq:

$ atq

   1. 1999-05-05 23:00 а

   2. 1999-05-06 06:00 а

   3. 

1999-05-21 11:20 а

В первом столбце содержится идентификатор заданния, за ним следуют дата и время выполнения задания. В последнем столбце находится символ а, указывающий на то, что задание получено от команды at. Существует также команда batch, которая планирует выполнение задания в период наименьшей загруженности системы. Задания, полученные от этой команды, помечаются в выводе команды atq символом b.

Получив задание, команда at создает в каталоге /var/spoot/at файл, в который помещает текст задания и заносит текущие установки всех переменных среды:

$ pwd

/var/spool/at

$ ls

a0000200eb7ae4 a0000400ebd228 a0000800eb7ea4 spool

3.2.3. Удаление запланированного задания

Для удаления задания предназначена команда atrm (синоним команды at -d или at -r), имеющая следующий формат:

atrm номер_задания

Чтобы удалить задание, нужно сначала получить его идентификатор. Поэтому сначала введите команду at -1 и узнайте идентификатор интересующего вас задания, а затем выполните команду atrm:

$ at -l

   1. 1999-05-05 23:00 а

   2. 1999-05-06 06:00 а

   3. 1999-05-21 11:20 а

$ atrm 3

$ at -l

2 1999-05-05 23:00 а

4 1999-05-21 11:20 а

3.3. Оператор &

При выполнении задания в экранном режиме происходит "захват" терминала на весь этот период. Перевод задания в фоновый режим позволяет освободить терминал для других целей. Чтобы выполнить команду в фоновом режиме, укажите после нее оператор &:

команда &

В таком режиме удобно выполнять команду find, посылать задания на принтер, сортировать записи больших списков с помощью Команды sort и т. д. Не переводите в фоновый режим те команды, которые требуют ввода информации пользователем, поскольку в этом случае работа команды будет приостановлена, а вы не узнаете об этом.

Недостаток выполнения команды в фоновом режиме заключается в том, что весь ее вывод по–прежнему направляется на терминал. По этой причине выходные потоки таких команд часто перенаправляют в файл с помощью следующей конструкции:

команда > выходной файл 2>&1 &

Данная конструкция задает переадресацию стандартных потоков вывода и ошибок в указанный файл.

При запуске задания в фоновом режиме на экране отображается номер соответствующего процесса. Впоследствии этот номер можно использовать как для уничтожения процесса с помощью команды kill, так и для перевода задания в экранный режим посредством команды fg.

3.3.1. Запуск команды в фоновом режиме

Выполним в фоновом режиме команду find, которая ищет в каталоге /etc файл srm.conf, и перенаправим ее вывод в файл find .dt

$ find /etc -name "srm.conf" — print > find .dt 2>&1 &

[1] 27015

Номер процесса в данном случае равен 27015. После завершения выполнения задания, когда вы в очередной раз нажмете клавишу [Return], на экране отобразится такое сообщение:

[1]+ Done find /etc "srm.conf" — print

3.3.2. Получение списка выполняющихся процессов с помощью команды ps

Предположим, имеется сценарий psl, который выполняется довольно долго: $ p$1 &

[2] 28305

Узнать о состоянии этого задания можно с помощью команды ps, которая по умолчанию выводит список всех запущенных в данный момент процессов, принадлежащих текущему пользователю:


$ ps
PIDTTY
TIMECMD
679pts/000:00:01bash
28305pts/000:02:07psl
28310pts/000:00:00ps

Здесь в четырех столбцах приведена следующая информация: первый — идентификатор процесса, второй — идентификатор терминала, с которого он запущен, третий -cуммарное время использования процессора, четвертый — выполняемая команда.

Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Литагент «5 редакция» , Тристан Таормино

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии