Б. Сбор сведений о системе и управление процессами
Цель лабораторной работы
Знакомство с командами по работе с процессами и командами, предоставляющими сведения о системе.
Часть 1. Сбор сведений о системе
Объекты исследования: uname, who, df, ps, grep, pstree, top.
Теоретические сведения
Изучить описание и синтаксис следующих команд: uname, who, df, ps, grep, pstree, top[2, 3].
Порядок выполнения работы
Начальные условия: Командная строка после входа в систему.
1. Определить имя текущей UNIX-системы.
2. Вывести содержимое каталога proc. Примечание: Признаком операционной системы Linux является наличие каталога /proc, которая содержит псевдофайлы, предоставляющие системную информацию и позволяющие настраивать ядро.
3. Вывести текущие пользовательские сеансы.
4. Вывести список всех примонтированных устройств. Первый столбец — имя устройства, второй — точка монтирования, далее следует тип файловой системы и опции монтирования.
5. Вывести загруженность примонтированных дисков.
6. Вывести информацию о всех выполняющихся процессах.
7. Оставить в выводе предыдущей команды только системные процессы.Пояснения: Часть процессов, показанные в квадратных скобках, — это потоки ядра, исполняющие специальные функции. Можно выделить демонов — в столбце терминала они имеют символ «?». Например, системный журнал (syslog) или планировщик задач (cron).
8. Вывести иерархию процессов.Примечание: В вершине дерева стоит процесс init.
9. Рассмотреть поведение процессов интерактивно.
|
|
Часть 2. Управление процессами с помощью сигналов
Объекты исследования: find, aux, kill, killall[2, 3].
Теоретические сведения
Изучить описание и синтаксис следующих команд: find, aux, kill, killall.
Порядок выполнения работы
Начальные условия: Командная строка после входа в систему.
1. Запустить команду yes, производящую бесконечный вывод символа y на экран. Прервать её нажатием Ctrl-C.При этом запущенному процессу будет отправлен сигнал SIGTERM — завершение программы.
2. Запустить сбор информации обо всех файлах системы.
3. Найти идентификатор запущенного только что процесса, запущенной в другом терминале. Первая строка содержит необходимый PID.
4. Отправить сигнал завершения этому процессу, указав идентификатор процесса. Убедитесь, что на терминале с запущенной командой появились строка «Terminated» и приглашение.
5. Попытаться завершить системный процесс.Выполучите сообщение об ошибке доступа. Отправление сигналов системным процессам может производить только суперпользователь.
6. Альтернативным способом отправления сигналов процессам — по имени процесса, а не по PID — является команда killall. Выполнить команду killall bash, и завершить все командные оболочки, а тем самым и сеансы пользователей.
|
|
7. Сигнал завершения процесса может перехватываться и игнорироваться программами. Неперехватываемым является сигнал SIGKILL. Отправить сигнал SIGKILL.
Часть 3. Выполнение задач в фоновом режиме
Объекты исследования: find, jobs, fg, bg.
Теоретические сведения
Изучить описание и синтаксис следующих команд: find, jobs, fg, bg [2, 3].
Порядок выполнения работы
Начальные условия: Командная строка после входа в систему.
1. Запустить длительную команду, например find / > files.txt и приостановить её выполнение с помощью нажатия Ctrl-Z. При этом процессу посылается сигнал SIGSTOP. Команда приостановлена и запомнена как задача 1 (номер в квадратных скобках).
2. Посмотреть текущий список запущенных задач командной оболочки.
3. Возобновить исполнение задания.
4. Еще раз приостановить процесс и запустить задачу в фоновом режиме. Тогда можно будет продолжать работу в командной строке.
Команды можно сразу запускать в фоновом режиме. При этом необходимо добавить символ «&» (амперсанд) в конец строки команды: find / -name "*.xml" > xml-list & . При этом командная оболочка выводит номер задания и PID созданного процесса.
Часть 4. Запуск демонов
|
|
Объекты исследования: find, nohup.
Теоретические сведения
Изучить описание и синтаксис следующих команд: find, nohup[2, 3].
Порядок выполнения работы
Начальные условия: Командная строка после входа в систему.
Запустить команду в фоновом режиме и выйти из командной оболочки: например, find / -name "*.html" -exec grep -Hn "linux loader" \{} \; & и exit. Запущенная команда завершится по сигналу SIGHUP.
Для того, чтобы программы не получали сигнал SIGHUP, используется специальная команда nohup:
nohup find / -name "*.txt" -exec grep -Hn "linux loader" \{} \; &.
Эта программа завершится корректно после окончания поиска.
Дата добавления: 2018-04-04; просмотров: 341; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!