ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.11.2024
Просмотров: 9
Скачиваний: 0
Задание 1.
-
Посчитайте количество процессов, имеющих несколько потоков выполнения.
ps -eo nlwp,comm - выводит информацию о количестве потоков выполнения (поле nlwp) и имени команды (поле comm) для всех процессов.
awk '$1 > 1 { count++ } - использует awk для подсчета процессов, у которых количество потоков выполнения больше 1.
END { print "Количество процессов с несколькими потоками выполнения:", count }' - выводит общее количество таких процессов.
-
Запустите top и настройте вывод полей с информацией о процессе следующим образом:
-
удалите поля VIRT, RES, SHR;
-
добавьте поле RUSER и сделайте так, чтобы это поле было показано после поля USER;
-
Нажмите клавишу f для перехода в режим настройки полей.
Для удаления полей VIRT, RES и SHR, установите курсор на соответствующем поле и нажмите клавишу d.
Для добавления поля RUSER, установите курсор на свободное поле, нажмите клавишу a и введите "RUSER" (без кавычек).
Переместите поле RUSER после поля USER, используя клавиши k (вверх) и j (вниз).
Нажмите клавишу q для выхода из режима настройки полей
Задание 2.
-
В другом терминальном окне выполните команду passwd и оставьте ее в состоянии запроса текущего пароля.
-
Перейдите в терминальное окно с top и выполните следующие действия:
-
выведите все процессы, для которых реальным пользователем является пользователь, которым Вы вошли в сеанс;
-
найдите процесс, запущенный командой passwd;
-
отправьте этому процессу сигналы 15 (SIGTERM), 2 (SIGINT), 3(SIGQUIT), 9(SIGKILL).
-
a. Чтобы вывести все процессы, для которых реальным пользователем является текущий пользователь, выполните команду top и нажмите клавишу U, затем введите имя пользователя. Ваш список процессов будет отфильтрован по имени пользователя.
b. Чтобы найти процесс, запущенный командой passwd, просто найдите его в списке процессов. Вы можете прокручивать список процессов с помощью клавиш k (вверх) и j (вниз).
c. Для отправки сигналов процессу, выделите его, нажмите клавишу k (если это необходимо) для установки маркера "Kill", а затем нажмите клавишу 15 (SIGTERM), 2 (SIGINT), 3 (SIGQUIT) или 9 (SIGKILL), в зависимости от того, какой сигнал вы хотите отправить.
Задание 3.
-
Выполните команду vim ~/file.txt и нажмите Ctrl-Z.
-
Выполните команду sleep 600, нажмите Ctrl-Z и выполните команду jobs
.
-
Последнее задание (sleep 600) сделайте фоновым
.
Для выполнения команды sleep 600 в фоновом режиме, вы можете добавить амперсанд & в конце команды
Задание 4.
-
Измените число NICE у задания (sleep 600), сделав его равным 10.
sudo renice 10 -p $(pidof sleep)
sudo: sudo - это команда, которая используется для выполнения другой команды с повышенными (администраторскими) правами. В данном случае, она используется, чтобы убедиться, что изменение приоритета процесса будет разрешено и выполнено с правами администратора.
renice: Это команда, используемая для изменения приоритета (числа NICE) процесса.
10: Это новое значение приоритета, которое вы устанавливаете для процесса sleep. В данном случае, приоритет равен 10.
-p: Это опция команды renice, которая указывает, что вы хотите изменить приоритет конкретного процесса. Следующим аргументом после -p должен идти PID (идентификатор процесса) процесса, для которого вы хотите изменить приоритет.
$(pidof sleep): Это выражение используется для получения PID процесса sleep. pidof - это команда, которая возвращает PID процесса по его имени (в данном случае, sleep). $(...) - это механизм командной подстановки, который выполняет команду pidof sleep и вставляет результат (PID процесса sleep) в команду renice.
Таким образом, вся команда выполняет следующее: она запускает renice с приоритетом 10 для процесса sleep, PID которого был определен с помощью pidof sleep. Это позволяет изменить при
-
Проверьте, что число NICE у этого задания изменилось.
ps: Это утилита в Unix-подобных операционных системах, используемая для вывода информации о процессах.
pid,nice,cmd: Это список полей, которые мы хотим видеть в выводе. Каждое поле разделено запятой. В данном случае, мы просим вывести PID (идентификатор процесса), приоритет NICE и команду.
-C sleep: Это опция ps, которая фильтрует вывод, оставляя только процессы с определенным именем команды. В данном случае, мы фильтруем только процессы с именем команды "sleep".
-o: Это опция ps, которая позволяет настроить формат вывода информации о процессах. В данном случае, мы указываем формат вывода, который включает PID, приоритет NICE и команду.
Задание 5.
-
Сделайте задание vim ~/file.txt активным и выйдите из редактора.
Нажмите клавишу Esc, чтобы перейти в режим команд.
Введите :wq и нажмите клавишу Enter. Это сохранит изменения и выйдет из Vim.
Для отправки сигнала 15 (SIGTERM) процессу sleep 600 и выполнения команды jobs,
-
Отправьте сигнал 15 (SIGTERM) заданию sleep 600 и выполните команду jobs
sleep 600 &
.
Затем отправьте сигнал SIGTERM процессу sleep с использованием команды kill и PID процесса. Вы можете узнать PID процесса sleep, выполнив команду jobs:
jobs
kill -15 %1
Здесь %1 означает, что мы отправляем сигнал SIGTERM процессу, который имеет индекс 1 в списке задач (т.е., процессу sleep 600).
-
Создайте перехватчик сигналов SIGINT и SIGQUIT внутри командного интерпретатора, который выводит сообщение «Сигнал заблокирован». (Используйте встроенную команду trap)
Затем отправьте сигнал SIGTERM процессу sleep с использованием команды kill и PID процесса. Вы можете узнать PID процесса sleep, выполнив команду jobs:
jobs
kill -15 %1
Здесь %1 означает, что мы отправляем сигнал SIGTERM процессу, который имеет индекс 1 в списке задач (т.е., процессу sleep 600).
работает