<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Ysa-k06-ru</id>
	<title>Ysa-k06-ru - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sarwiki.informatik.hu-berlin.de/index.php?action=history&amp;feed=atom&amp;title=Ysa-k06-ru"/>
	<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Ysa-k06-ru&amp;action=history"/>
	<updated>2026-04-05T02:47:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Ysa-k06-ru&amp;diff=15425&amp;oldid=prev</id>
		<title>Jpr: /* Kapitel 6: Управление процессами в Unix/Linux */</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Ysa-k06-ru&amp;diff=15425&amp;oldid=prev"/>
		<updated>2025-12-30T13:33:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Kapitel 6: Управление процессами в Unix/Linux&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:33, 30 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Kapitel&lt;/del&gt; 6: Управление процессами в Unix/Linux ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Глава&lt;/ins&gt; 6: Управление процессами в Unix/Linux ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Введение ===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Введение ===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jpr</name></author>
	</entry>
	<entry>
		<id>https://sarwiki.informatik.hu-berlin.de/index.php?title=Ysa-k06-ru&amp;diff=15424&amp;oldid=prev</id>
		<title>Jpr: Created page with &quot;== Kapitel 6: Управление процессами в Unix/Linux ==  === Введение === В Unix/Linux одновременно могут выполняться **десятки, сотни и даже тысячи программ**. Каждая запущенная программа или часть программы называется **процессом** (process).  Для системного администратора умение:  * смот...&quot;</title>
		<link rel="alternate" type="text/html" href="https://sarwiki.informatik.hu-berlin.de/index.php?title=Ysa-k06-ru&amp;diff=15424&amp;oldid=prev"/>
		<updated>2025-12-30T13:33:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Kapitel 6: Управление процессами в Unix/Linux ==  === Введение === В Unix/Linux одновременно могут выполняться **десятки, сотни и даже тысячи программ**. Каждая запущенная программа или часть программы называется **процессом** (process).  Для системного администратора умение:  * смот...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Kapitel 6: Управление процессами в Unix/Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
В Unix/Linux одновременно могут выполняться **десятки, сотни и даже тысячи программ**.&lt;br /&gt;
Каждая запущенная программа или часть программы называется **процессом** (process).&lt;br /&gt;
&lt;br /&gt;
Для системного администратора умение:&lt;br /&gt;
&lt;br /&gt;
* смотреть, какие процессы запущены,&lt;br /&gt;
* понимать, сколько ресурсов они используют,&lt;br /&gt;
* запускать процессы в фоне,&lt;br /&gt;
* корректно завершать «зависшие» программы&lt;br /&gt;
&lt;br /&gt;
— является **критически важным практическим навыком**.&lt;br /&gt;
&lt;br /&gt;
В этой главе мы подробно разберём:&lt;br /&gt;
&lt;br /&gt;
* что такое процесс,&lt;br /&gt;
* как наблюдать за процессами,&lt;br /&gt;
* как работать с процессами в bash,&lt;br /&gt;
* как завершать процессы с помощью `kill`.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Что такое процесс ===&lt;br /&gt;
**Процесс** — это экземпляр выполняемой программы.&lt;br /&gt;
&lt;br /&gt;
Примеры процессов:&lt;br /&gt;
&lt;br /&gt;
* веб-сервер `nginx`&lt;br /&gt;
* текстовый редактор `nano`&lt;br /&gt;
* команда `ls`&lt;br /&gt;
* демон `sshd`&lt;br /&gt;
&lt;br /&gt;
Каждый процесс имеет:&lt;br /&gt;
&lt;br /&gt;
* **PID** (Process ID) — уникальный идентификатор процесса&lt;br /&gt;
* владельца (пользователя)&lt;br /&gt;
* состояние (работает, спит, остановлен)&lt;br /&gt;
* потребление ресурсов (CPU, RAM)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Иерархия процессов ===&lt;br /&gt;
В Linux процессы образуют **дерево**:&lt;br /&gt;
&lt;br /&gt;
* каждый процесс (кроме первого) имеет **родительский процесс**&lt;br /&gt;
* самый первый процесс — `init` или `systemd` (PID = 1)&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
* `bash` → `nano`&lt;br /&gt;
* `bash` → `ls`&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Просмотр процессов: ps ===&lt;br /&gt;
Команда `ps` показывает **снимок текущих процессов**.&lt;br /&gt;
&lt;br /&gt;
==== Базовое использование ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Показывает только процессы текущего терминала.&lt;br /&gt;
&lt;br /&gt;
==== Расширенный вывод (рекомендуется) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps aux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифровка:&lt;br /&gt;
&lt;br /&gt;
* `a` — процессы всех пользователей&lt;br /&gt;
* `u` — формат с пользователем&lt;br /&gt;
* `x` — включая фоновые процессы&lt;br /&gt;
&lt;br /&gt;
Пример вывода:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USER   PID  %CPU %MEM  COMMAND&lt;br /&gt;
root     1   0.0  0.1  systemd&lt;br /&gt;
user  2345   1.2  3.4  firefox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Важные столбцы:&lt;br /&gt;
&lt;br /&gt;
* **USER** — владелец процесса&lt;br /&gt;
* **PID** — идентификатор процесса&lt;br /&gt;
* **%CPU** — загрузка процессора&lt;br /&gt;
* **%MEM** — использование памяти&lt;br /&gt;
* **COMMAND** — команда/программа&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Просмотр процессов в реальном времени: top ===&lt;br /&gt;
Команда `top` показывает процессы **в реальном времени**.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
top&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Особенности:&lt;br /&gt;
&lt;br /&gt;
* обновляется каждые несколько секунд&lt;br /&gt;
* показывает нагрузку CPU, RAM, swap&lt;br /&gt;
* сортирует процессы по нагрузке&lt;br /&gt;
&lt;br /&gt;
Полезные клавиши в `top`:&lt;br /&gt;
&lt;br /&gt;
* `q` — выйти&lt;br /&gt;
* `P` — сортировка по CPU&lt;br /&gt;
* `M` — сортировка по памяти&lt;br /&gt;
* `k` — завершить процесс (по PID)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Process ID (PID) ===&lt;br /&gt;
**PID** — уникальный номер процесса.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano test.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В другом терминале:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps aux | grep nano&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы увидите PID процесса `nano`.&lt;br /&gt;
&lt;br /&gt;
PID нужен для:&lt;br /&gt;
&lt;br /&gt;
* мониторинга&lt;br /&gt;
* завершения процесса&lt;br /&gt;
* отладки&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Процессы в bash ===&lt;br /&gt;
&lt;br /&gt;
==== Запуск процесса в фоне ====&lt;br /&gt;
Добавьте `&amp;amp;` в конец команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sleep 60 &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вывод:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[1] 3456&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `[1]` — номер задания (job)&lt;br /&gt;
* `3456` — PID процесса&lt;br /&gt;
&lt;br /&gt;
Процесс выполняется в фоне, терминал свободен.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Просмотр фоновых задач ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
jobs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[1]+ Running sleep 60 &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Перевод процесса в фон и обратно ====&lt;br /&gt;
&lt;br /&gt;
* `Ctrl + Z` — приостановить процесс&lt;br /&gt;
* `bg` — продолжить в фоне&lt;br /&gt;
* `fg` — вернуть в передний план&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano test.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нажмите `Ctrl+Z`, затем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Завершение процессов: kill ===&lt;br /&gt;
Иногда процесс:&lt;br /&gt;
&lt;br /&gt;
* завис&lt;br /&gt;
* потребляет слишком много ресурсов&lt;br /&gt;
* не отвечает&lt;br /&gt;
&lt;br /&gt;
Для этого используется команда `kill`.&lt;br /&gt;
&lt;br /&gt;
==== Завершение по PID ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kill PID&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kill 3456&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По умолчанию отправляется сигнал **SIGTERM (15)** — «корректное завершение».&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Принудительное завершение ====&lt;br /&gt;
Если процесс не завершается:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kill -9 PID&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сигнал **SIGKILL (9)**:&lt;br /&gt;
&lt;br /&gt;
* процесс немедленно уничтожается&lt;br /&gt;
* данные могут быть потеряны&lt;br /&gt;
* использовать **только в крайнем случае**&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Поиск PID процесса ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps aux | grep firefox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pgrep firefox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Практические задания ===&lt;br /&gt;
&lt;br /&gt;
==== Практика 1: Наблюдение за процессами ====&lt;br /&gt;
&lt;br /&gt;
# Откройте терминал&lt;br /&gt;
&lt;br /&gt;
# Выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps aux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Найдите:&lt;br /&gt;
&lt;br /&gt;
#* systemd (PID 1)&lt;br /&gt;
#* bash&lt;br /&gt;
#* sshd (если есть)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Практика 2: top ====&lt;br /&gt;
&lt;br /&gt;
# Запустите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
top&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Посмотрите:&lt;br /&gt;
&lt;br /&gt;
#* загрузку CPU&lt;br /&gt;
#* использование памяти&lt;br /&gt;
#* самый «тяжёлый» процесс&lt;br /&gt;
&lt;br /&gt;
# Выйдите клавишей `q`&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Практика 3: Фоновые процессы ====&lt;br /&gt;
&lt;br /&gt;
# Запустите процесс:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sleep 300 &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Проверьте:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
jobs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Найдите PID:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps aux | grep sleep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Практика 4: Завершение процесса ====&lt;br /&gt;
&lt;br /&gt;
# Завершите процесс `sleep`:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kill PID&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Убедитесь, что он завершён:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
jobs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
==== Практика 5 (важно): SIGKILL ====&lt;br /&gt;
&lt;br /&gt;
# Запустите:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sleep 1000 &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Завершите принудительно:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
kill -9 PID&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Проверьте, что процесс исчез&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Типичные ошибки новичков ===&lt;br /&gt;
&lt;br /&gt;
* ❌ Использовать `kill -9` всегда&lt;br /&gt;
* ❌ Завершать системные процессы (PID 1!)&lt;br /&gt;
* ❌ Не проверять PID перед `kill`&lt;br /&gt;
* ❌ Работать под `root` без необходимости&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Дополнительные материалы для самоподготовки ===&lt;br /&gt;
&lt;br /&gt;
* `man ps`&lt;br /&gt;
* `man top`&lt;br /&gt;
* `man kill`&lt;br /&gt;
* `man jobs`&lt;br /&gt;
* `man bash`&lt;br /&gt;
* Книга: **&amp;quot;The Linux Command Line&amp;quot; – William Shotts**&lt;br /&gt;
* Практика в виртуальной машине (ломать — можно!)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Итог ===&lt;br /&gt;
После этой главы ученик должен уметь:&lt;br /&gt;
&lt;br /&gt;
* понимать, что такое процесс&lt;br /&gt;
* находить процессы в системе&lt;br /&gt;
* анализировать нагрузку&lt;br /&gt;
* запускать процессы в фоне&lt;br /&gt;
* безопасно завершать программы&lt;br /&gt;
&lt;br /&gt;
Это **основа реальной работы Unix System Administrator**.&lt;/div&gt;</summary>
		<author><name>Jpr</name></author>
	</entry>
</feed>