Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SP KR 1111 (2)

.pdf
Скачиваний:
8
Добавлен:
01.04.2022
Размер:
650.11 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский Технический Университет Связи и Информатики»

Кафедра математической кибернетики и информационных технологий

Контрольная работа по дисциплине «Системное программирование»:

«Управление процессами в ОС Linux»

Выполнил студент группы БФИ1901

Рахимов Егор Проверил:

Фатхулин Тимур Джалильевич

 

Оглавление

Цель работы .............................................................................................................

3

Задание: ....................................................................................................................

3

Ход работы...............................................................................................................

3

Вывод .......................................................................................................................

8

Контрольные вопросы .............................................................................................

9

Цель работы

Изучить и практически освоить основные приемы и методы работы с

процессами в операционной системе Linux.

Задание:

Изучите команды для запуска процесса, выполнения процесса в фоновом режиме и проверки его работы.

Изучите команды для остановки и возобновления работы процесса.

Изучите команды, которые позволяют прерывать работу процессов.

Согласно пунктам выполнения работы, сделать необходимые снимки экрана.

Изучить полученную информацию и оформить ее в соответствии с требованиями раздела «Содержание отчета».

Ход работы

Выполнение Откройте терминал. Проверьте, какие процессы выполняются в текущем терминале, для этого введите команды(Рисунок 1):

ps ps –a

Рисунок 1 – Использование команд ps и ps -a

Запустите выполнение процесса yes в фоновом режиме (Рисунок 2): yes > /dev/null &

Проверьте, какие процессы выполняются в текущем терминале, для этого введите ps(Рисунок 2).

Рисунок 2 – Результат исполнения команд Например, номер процесса [1] означает, что это второй фоновый

процесс. Его PID – 3365. Проверим состояния процессов с помощью команды jobs (Рисунок 3):

Рисунок 3 – Использование команд jobs

Существует 3 фоновых процесса, 1 из них выполняются. Остановка

процесса осуществляется нажатием клавиш «Ctrl + Z». Запустите выполнение еще одного процесса yes на передний план(Рисунок 4):

yes > /dev/null

Остановите процесс yes(Рисунок 4).

.

Рисунок 4 – Остановка процесса

Переведите этот процесс yes в фоновый режим с помощью команды bg

%2 (Рисунок 5).

.

Рисунок 5 – Перевод 2 процесса yes в фоновый режим Теперь переведите процесс из этого режима на передний план с

помощью команды fg %2(Рисунок 6).

Рисунок 6 – Перевод 2 процесса yes на передний план Остановите процесс yes сочетанием клавиш «Ctrl + Z»(Рисунок 6).

Запустите сразу несколько процессов yes, чтобы продемонстрировать работу команды kill и команды killall (Рисунок 7):

Рисунок 7 – Запуск нескольких процессов Осуществите прерывание процесса с помощью команды kill и

идентификационного номера (PID) одного из процессов, а затем с помощью команды jobs определите состояния процессов и в каком состоянии находится процесс, к которому применена команда kill (Рисунок 8):

Рисунок 8 – Использование команды «kill»

Прервите один из процессов yes с помощью команды kill и номера процесса, а затем с помощью команды jobs орпеделите состояния процессов и в каком состоянии находится процесс, к которому применена команда kill

(Рисунок 9):

Рисунок 9 – Использование команды «kill %2»

Как видно из выведенной информации, сведения о процессе, который ранее был прерван по PID, полностью отсутствуют. О чем это говорит? Он полностью уничтожен. Осуществите прерывание всех процессов yes с

помощью команды killall (рисунок 10)

Рисунок 10 – Использование команды «killall yes»

Чтобы окончательно убедиться, что все процессы yes прерваны,

используем команду ps, которая покажет список процессов, выполняемых на текущем терминале (Рисунок 11):

Рисунок 11 – Все процессы yes были прерваны

Вывод

Я изучил и практически освоил основные приемы и методы работы с процессами в операционной системе Linux, научился работать с процессами, а

именно добавлять, просматривать, удалять, останавливать, перемещать на передний план

Контрольные вопросы

1. Что представляет собой процесс?

Процесс представляет собой абстракцию, описывающую выполняющуюся программу или утилиту.

2. Какие параметры позволяют различать между собой процессы?

Номера процессов (process ID, или PID), указанные в первой колонке, являются уникальными номерами, которые система присваивает каждому работающему процессу.

3. Какой командой можно определить выполняющиеся в настоящий момент процессы?

С помощью команды ps можно узнать, какие процессы выполняются в настоящий момент.

4. Для чего служит команда jobs?

Команда jobs служит для того, чтобы узнать статус процесса.

5. Как можно запустить на выполнение тестовый процесс?

Если выполнить команду yes без каких-либо аргументов, то на экран бесконечно будет выводиться символ «y». yes > /dev/null – при вводе этой команды команда yes все ещё работает и посылает свои сообщения, состоящие из букв y на /dev/null. Чтобы команда yes продолжала работать, но при этом и приглашение командной оболочки вернулось на экран, можно команду yes перевести в фоновый режим, и она будет там работать. Один

способ перевести процесс в фоновый режим — приписать символ & к концу команды.

6. Для чего используется символ "&" при управлении процессами?

Символ “&” используется для запуска процесса сразу в фоновом режиме.

7. Для чего служит команда bg %?

Команда bg% служит для возобновления процесса в фоновом режиме.

8. Для чего служит команда fg %?

Команда fg% служит для возобновления выполнения задания на переднем плане.

9. Какими способами можно прервать один процесс?

Прервать один процесс можно с помощью команды kill. К процессу можно обратиться с помощью идентификационного номера (PID) или с помощью номера процесса (kill %2). Также прервать процесс можно с помощью комбинации клавиш Ctrl-C, но только когда задание работает на переднем плане.

10. Как прервать выполнение всех процессов?

Прервать выполнение всех процессов можно с помощью команды killall

Соседние файлы в предмете Системное программирование