103 added md

This commit is contained in:
semaev
2017-10-16 13:25:36 +03:00
parent 34b2ad1011
commit 545a6c6e03
6 changed files with 419 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
**103.5** Управление процессами в Linux
Студент должен уметь создавать, отслеживать и завершать процессы
**Изучаем** :
- запуск задач в активном и фоновом режимах;
- настройку выполнения задачи после выхода из системы;
- способы отслеживания и сортировки активных процессов;
- завершение процессов.
**Термины и утилиты: **
- &
- bg
- fg
- jobs
- kill
- nohup
- ps
- top
- free
- uptime
- pgrep
- pkill
- killall
- screen
Linux содержит в себе множество инструментов для управления запущенными процессами: от сортировки, отслеживания состояния и загрузки системы до перевода процессов в фоновый режим и обратно.
Посмотреть запущенные процессы в текущей консоли можно при помощи команды **jobs**. Для вывода всех запущенных в данный момент процессов (независимо от консоли) используется команда ps с различным набором ключей, например:
**Ps**** aux** _(вывести процессы всех пользователей);_
Можно вывести процессы в консоль, отображая иерархию из взаимосвязи командой **pstree**.
Для отображения идентификаторов процессов по определенному критерию можно использовать команду **pgrep** , например:
**pgrep** **-**** l **** - ****u**** root **** ** _(отобразить все процессы пользователя_ _root__)_
Чтобы запустить процесс в фоновом режиме необходимо указать ключ **&** , например:
**Sleep** **999 & ** _(запустить задачу_ _sleep_ _999 в фоновом режиме);_
Для перевода процесса из фонового режима в активный используется команда **fg** , обратно **bg**. В качестве аргумента команды следует указать номер процесса (_его можно увидеть на выводе команды_ _jobs_).
Для того чтобы процесс продолжал выполняться после выхода пользователя из системы, его следует запускать командой **nohup** , например:
**nohup** ** **** sleep **** 1000 & ** _(запустить процесс "__sleep_ _1000" в фоновом режиме, и выполнять его даже в случае выхода пользователя из системы);_
Для остановки процесса используется команда **kill** , например:
**kill** **2625** _ (выключить процесс с_ _PID__=2625);_
**killall**** sleep **** ** _(выключить все процессы с именем_ _sleep_ _для текущего пользователя)_ **;**
Для остановки процессов по указанному критерию можно использовать команду **pkill** , например:
**pkill**** refox **** ** _(остановить процесс, в имени которого есть символы " __refox__");_
Для просмотра информации о работающих процессах в режиме реального времени используется диспетчер задача **top**. Используя его можно сортировать запущенные задачи по различным критериям и останавливать их _(клавиша_ _K__)_ мягко _(__sigterm__)_ и жестко _(__sigkill__)_.
Для отображения информации о времени работы системы и среднем времени загрузки АЧ используется команда **uptime**.
Для отображения информации о загрузке ОЗУ и раздела подкачки используется команда **free**.
Кроме того, Linux поддерживает работу с несколькими «экранами» при помощи команды **screen**. Она позволяет, в числе всего прочего, сворачивать запущенные приложения в консоли, в рамках той же консоли, например:
**screen** **-**** S ****yandex**** ping ****ya****. ****ru**** ** _(создать экран с именем_ _yandex_ _для команды_ _ping __ya__. __ru__ );_
**screen** ****** ls **** ** _(показать свернутые экраны);_
**screen** **-**** r ****yandex**** ** _(развернуть экран с именем_ _yandex__)._