mirror of
https://github.com/Yaslonane/lpic_1-101.git
synced 2026-05-19 09:47:59 +03:00
103 added md
This commit is contained in:
@@ -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__)._
|
||||
Reference in New Issue
Block a user