Прекращение выполнения процессов: команда kill
Команду kill чаще всего используют для прекращения выполнения процесса. Эта команда может послать в процесс любой сигнал, но по умолчанию посылается сигнал TERM, сигнал программного завершения. Команду kill могут использовать как обычные пользователи (для своих собственных процессов), так и суперпользователь(для любого процесса). Она имеет следующий синтаксис:
kill [-сигнал] pid,
где сигнал – номер или символическое имя посылаемого сигнала, а pid – идентификационный номер процесса-адресата. Команда kill без номера сигнала «не гарантирует», что процесс умрет, потому что сигнал TERM можно перехватить, блокировать и игнорировать. Команда kill –9 pid «гарантирует», что процесс умрет, потому что сигнал 9, KILL, другими процессами не перехватывается.
Запуск процессов в фоновом режиме
Оболочка позволяет запустить процесс и, не дожидаясь его завершения, запустить другой. Чтобы это сделать, первый процесс должен быть запущен в фоновом режиме. Для запуска процесса в фоновом режиме используется &, который добавляется в конец командной строки.
После запуска процесса в фоновом режиме появится идентификатор процесса.
Когда примитивный интерпретатор команд завершает работу, он посылает во все порожденные им процессы сигнал «отбой». Если процесс выполняется в фоновом режиме, этот сигнал часто уничтожает его, что в некоторых случаях нежелательно. Если нужно запустить программу, которая будет работать и после вашего выхода из системы, ее нужно запускать командой nohup. Эта команда имеет следующий формат:
|
|
nohup команда &
Подобный запуск заставляет указанную аргументом команда команду игнорировать сигнал отбоя.
Команда FG
Чтобы перевести задачу из фонового или остановленного режима в активный, используется команда fg. С помощью команды fg %1 задачу можно перевести в активный режим (на передний план). Впоследствии задачу переднего плана можно снова приостановить, нажав комбинацию клавиш <Ctrl + Z>, а его управлением заняться позже.
На передний план можно перевести любое задание, содержащееся в списке, полученном с помощью команды jobs. Это можно осуществить даже в том случае, когда оно уже работает в фоновом режиме. Если в фоновом режиме выполняется только одно задание, то при вызове команды fg его номер указывать не нужно. Если вызвать команду fg без параметров, то на передний план будет переведено текущее задание.
Команда BG
Если выполнение задания приостановлено в результате нажатия комбинации клавиш <Ctrl + Z>, то продолжить его выполнение в фоновом режиме можно с помощью команды bg. Для этого при вызове команды нужно указать соответствующий номер задания, после чего его выполнение продолжится в фоновом режиме вплоть до завершения, либо до тех пор, пока снова не потребуется выполнить обмен данными с терминалом.
|
|
При нажатии комбинации клавиш <Ctrl + Z> выполнение текущего задания будет приостановлено. Для перевода его в фоновый режим достаточно ввести команду bg без параметров.
Планирование периодического выполнения
Команда at принимает дату или время в качестве параметра и любое число командных строк из стандартного ввода. Когда встретится признак конца файла, команда at создает сценарий для выполнения команд в указанное время.
Периодическим выполнением процессов управляет демон cron. Он запускается во время начальной загрузки системы и остается в активном состоянии, пока система не выключена.
Командные строки обрабатываются интерпретатором sh, поэтому почти все, что можно сделать из shell вручную, можно перепоручить процессу cron.
Файл конфигурации процесса cron называют crontab-файлом. В BSD-системах такой файл один, обычно / usr / lib / crontab или / etc / crontab, в некоторых системах есть и дополнительный файл crontab . local . Обычные пользователи не могут модифицировать эти файлы. Процесс cron служит главным образом средством администратора.
|
|
В некоторых-системах используется более открытая модель, здесь имеет место целый crontab-каталог. Файлы передаются в этот каталог командой crontab, и cron читает содержимое каждого из них. Процесс cron обычно выполняет свою работу "молча", но в некоторых системах может вестись файл регистраци (как правило, это / var / cron / log или / usr / lib / cron / log).
Для запуска редактора crontab файла следует набрать crontab – e . Файл откроется для текущего пользователя. Каждая строка файла конфигурации, не являющаяся комментарием, содержит 6 или 7 полей и представляет одну команду. Семипольный формат имеет такой вид:
минуты часы день месяц день_недели [имя_пользователя] команда
0...59 0...23 1...31 1...12 1...7
Поле [имя_пользователя] в Linux DeepStyle отсутствует, так как для каждого пользователя crontab запускает отдельно. Каждое из полей может содержать * , которая обозначает любую цифру, цифру или числа, разделенные запятыми, а также диапазон, к примеру как 23-30
В полях минуты часы день месяц день_неделидается информация о времени запуска команды. Например, спецификации времени
45 10 * * 1-5 означает "10 часов 45 минут, с понедельника по пятницу",
30 * 13 * 5 означает "каждые полчаса по пятницам и каждые полчаса пятницы 13 числа".
|
|
Поле командасодержит подлежащую выполнению командную строку sh. Это может быть любая команда shell, причем без кавычек. Считается, что команда продолжается до конца строки и может содержать пробелы и символы табуляции. Примеры:
30 2 * * 1 (cd /users/joe/project; make)
20 1 * * * find /tmp -atime +3 -exec rm -f {} \ ;
55 23 * * 1,2,3,4,7 /staff/trent/bin/acct-script
Изменение crontab-файла осуществляется командой crontab имя _ файла .
crontab - e имя_файлапроверяет версию файла, вызывает редактор и затем активизирует файл; crontab - l имя_файла выдает листинг файла на стандартный вывод; crontab - r имя_файла удаляет файл.
С помощью файлов cron . allow и cron . deny можно указать, кто имеет право использовать cron, а кто нет.
Дата добавления: 2018-11-24; просмотров: 296; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!