Отчет по 4 лабе. Отчет по четвертой лабораторной работе по дисциплине (учебному курсу)
Скачать 5.66 Mb.
|
|
Студент | Миралибеков Р.А. гр. МОп-1601а (Фамилия И.О., группа) |
Преподаватель | Тонких А.П. (Фамилия И.О.) |
Тольятти, 2019
Создайте и однократно выполните скрипт (в этом скрипте нельзя использовать условный оператор и операторы проверки свойств и значений), который будет пытаться создать директорию test в домашней директории. Если создание директории пройдет успешно, скрипт выведет в файл /report сообщение вида "catalog test was created successfully" и создаст в директории test файл с именем Дата_Время_Запуска_Скрипта. Затем независимо от результатов предыдущего шага скрипт должен опросить с помощью команды ping хост www.net_nikogo.ru и, если этот хост недоступен, дописать сообщение об ошибке в файл /report.
Задайте еще один однократный запуск скрипта из пункта 1 через 2 минуты. Организуйте слежение за файлом /report и выведите на консоль новые строки из этого файла, как только они появятся.
Задайте запуск скрипта из пункта 1 каждые 5 минут каждого часа в день недели, в который вы будете выполнять работу.
Процесс «Генератор» передает информацию процессу «Обработчик» с помощью файла. Процесс «Обработчик» должен осуществлять следующую обработку новых строк в этом файле: если строка содержит единственный символ «+», то процесс «Обработчик» переключает режим на сложение и ждет ввода численных данных. Если строка содержит единственный символ «*», то обработчик переключает режим на умножение и ждет ввода численных данных. Если строка содержит целое число, то обработчик осуществляет текущую активную операцию (выбранный режим) над текущим значением вычисляемой переменной и считанным значением (например, складывает или перемножает результат
предыдущего вычисления со считанным числом). При запуске скрипта режим устанавливается в сложение, а вычисляемая переменная приравнивается к 1. В случае получения строки QUIT скрипт выдает сообщение о плановой остановке и завершает работу. В случае получения любых других значений строки скрипт завершает работу с сообщением об ошибке входных данных.
Процесс «Генератор» считывает строки с консоли, пока ему на вход не поступит строка TERM. В этом случае он посылает системный сигнал SIGTERM процессу обработчику. Процесс «Обработчик» (как и в примере, выводящий в бесконечном цикле натуральное число каждую секунду) должен перехватить системный сигнал SIGTERM и завершить работу, предварительно выведя сообщение о завершении работы по сигналу от другого процесса.
Процесс «Генератор» считывает с консоли строки в бесконечном цикле. Если считанная строка содержит единственный символ «+», он посылает процессу «Обработчик» сигнал USR1. Если строка содержит единственный символ «*», генератор посылает обработчику сигнал USR2. Если строка содержит слово TERM, генератор посылает обработчику сигнал SIGTERM. Другие значения входных строк игнорируются. Обработчик добавляет 2 или умножает на 2 текущее значение обрабатываемого числа (начальное значение принять на единицу) в зависимости от полученного пользовательского сигнала и выводит результат на экран. Вычисление и вывод производятся один раз в секунду. Получив сигнал SIGTERM, «Обработчик» завершает свою работу, выведя сообщения о завершении работы по сигналу от другого процесса