mirror of
https://github.com/Yaslonane/lpic_1-101.git
synced 2026-05-19 09:47:59 +03:00
73 lines
5.3 KiB
Markdown
73 lines
5.3 KiB
Markdown
**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__)._ |