Задания к лабораторной работе "Управление процессами в Linux"

Задание состоит из двух частей: Часть I и Часть II. Часть I одинаковая для всех (выполнять всем вариантам), Часть II — четыре пункта заданий по вариантам.

Часть I (выполняют все).

  1. Запустить в консоли на выполнение три задачи, две в интерактивном режиме, одну - в фоновом.
  2. Перевести одну из задач, выполняющихся в интерактивном режиме, в фоновый режим.
  3. Провести эксперименты по переводу задач из фонового режима в интерактивный и наоборот.
  4. Создать именованный канал для архивирования и осуществить передачу в канал
    • списка файлов домашнего каталога вместе с подкаталогами (ключ -R),
    • одного каталога вместе с файлами и подкаталогами.
  5. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд.

Часть II. Индивидуальные задания

Вариант 1.

  1. Сгенерировать информацию — полный листинг о всех процессах системы.
  2. Завершить выполнение двух процессов, владельцем которых является текущий пользователь. Первый процесс завершить с помощью сигнала SIGTERM, задав его имя, второй — с помощью сигнала SIGKILL, задав его номер.
  3. Определить идентификаторы процессов, владельцем которых не является root.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 2.

  1. Получить следующую информацию о процессах текущего пользователя: идентификатор и имя владельца процесса, статус и приоритет процесса.
  2. Завершить выполнение двух процессов, владельцем которых является текущий пользователь. Первый процесс завершить с помощью сигнала SIGINT, задав его имя, второй — с помощью сигнала SIGQUIT, задав его номер.
  3. Определить идентификаторы и имена процессов, идентификатор группы которых не равен идентификатору группы текущего пользователя.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 3.

  1. Сгенерировать следующую информацию о m (m>2) процессах системы, имеющих значение идентификатора больше заданного n: флаг — сведения о процессе, статус, PID, PPID, приоритет, использованное время и имя программы.
  2. Завершить выполнение двух процессов, владельцем которых является текущий пользователь. Первый процесс завершить с помощью сигнала SIGKILL, задав его имя, второй — с помощью сигнала SIGINT, задав его номер.
  3. Через символ « : » вывести идентификаторы процессов, для которых родителем является командный интерпретатор.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 4.

  1. Сгенерировать следующую информацию — полный литинг в длиннном формате о процессах текущего пользователя: PID, PPID, выделенное время ЦП, время запуска, размер образа.
  2. С помощью сигнала SIGTSTP (используя комбинацию клавиш и команду kill) приостановить выполнение процесса, владельцем которого является текущий пользователь. Через несколько секунд возобновить выполнение процесса.
  3. Определить идентификатор и имя процесса, созданного последним пользователем root.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 5.

  1. Отобразить информацию о процессах указанного пользователя в виде иерархии, вывод отсортировать по значениям PID.
  2. С помощью сигнала SIGSTOP приостановить выполнение процесса, владельцем которого является текущий пользователь. Через несколько секунд возобновить выполнение процесса.
  3. Определить идентификаторы и имена процессов, не связанных с указанным терминалом.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 6.

  1. Отобразить информацию о процессах, начиная с указанного идентификатора, с выделением цветом текущего процесса и его предков.
  2. Завершить выполнение процесса, владельцем которого является текущий пользователь, с помощью сигнала SIGINT двумя способами: задав имя сигнала и используя комбинацию клавиш.
  3. Запустите редактор nano, определите приоритет редактора. Запустите новый процесс данного редактора с увеличенным на 2 значением приоритета.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 7.

  1. Вывести информацию о состоянии процессов системы в реальном режиме с обновлением один раз в 5 секунд. Отсортировать вывод по идентификатору пользователя по возрастанию и убыванию.
  2. Завершить выполнение процесса, владельцем которого является текущий пользователь, с помощью сигнала SIGQUIT двумя способами: задав имя сигнала и используя комбинацию клавиш.
  3. Измените на 2 единицы приоритет процесса, запущенного из командного интерпретатора.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 8.

  1. Сохранить в файл мгновенное состояние процессов системы указанного пользователя.
  2. Послать сигнал SIGINT (по имени и по номеру сигнала) всем процессам, запущенным командой vi. Сообщить, успешно ли был послан сигнал.
  3. Измените на 3 единицы приоритеты процессов, владельцем которых является текущий пользователь.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 9.

  1. Отобразить информацию о трех заданных процессах в реальном режиме, одному из процессов переназначить приоритет, не выходя из команды.
  2. Послать сигнал на безусловное завершение (по имени и по номеру сигнала) процессу по его имени, установить подтверждение завершения.
  3. Выведите статистику работы системы с момента последней загрузки.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 10.

  1. Вывести информацию о состоянии процессов системы в реальном режиме с сортировкой по PID. Завершить один из процессов, владельцем которого является текущий пользователь, не выходя из команды.
  2. С помощью сигнала SIGKILL завершить самый новый процесс, владельцем которого является текущий пользователь.
  3. Определите информацию о работающем в системе пользователе (имя, время входа в систему, время простоя и т.д.).
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 11.

  1. Вывести информацию о состоянии процессов системы в реальном режиме с сортировкой по убыванию значения приоритета. Отобразите информацию о состоянии процессов.
  2. С помощью сигнала SIGKILL завершить все процессы, родителем которых является командный интерпретатор текущей сессии.
  3. Вывести статистику использования памяти в байтах с обновлением каждые три секунды.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.

Вариант 12.

  1. Вывести в реальном режиме информацию о состоянии процессов системы и их командных аргументах с сортировкой по идентификатору пользователя. Измените время обновления информации, не выходя из команды.
  2. С помощью сигнала SIGINT завершить процесс, владельцем которого является текущий пользователь, с указанием имени процесса.
  3. Откройте на редактирование один и тот же файл двумя редакторами. Определите PID и имя владельца процессов, которые используют данный файл. С помощью сигнала SIGTERM завершите процессы, которые используют данный файл с выдачей запроса на подтверждение от пользователя.
  4. В отчете предоставьте все шаги ваших действий. То есть следует привести следующее: текст задания, а следом за ним снимок экрана консоли с результатами выполнения задания. Кроме того, перед скриншотом следует привести текстовую запись использованных команд. Кратко поясните результаты выполнения всех команд.