Б. Сбор сведений о системе и управление процессами



Цель лабораторной работы

Знакомство с командами по работе с процессами и командами, предоставляющими сведения о системе.

 

Часть 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!