[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-linux-chto-takoe-protsessy-v-linux-chto-takoe-init-systemd-pid-ppid-demony":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},736,"chto-takoe-protsessy-v-linux-chto-takoe-init-systemd-pid-ppid-demony",18,"linux","Linux","🐧","Что такое процессы в Linux? Что такое init\u002Fsystemd, PID, PPID, демоны?","Процесс — экземпляр работающей программы. Каждый процесс имеет PID (Process ID), PPID (Parent Process ID), собственное адресное пространство, набор файловых дескрипторов, владельца (UID) и группу (GID).\n\n> Аналогия из жизни: процесс — это сотрудник в офисе. У каждого есть свой номер (PID), начальник (PPID), своё рабочее место (адресное пространство) и набор инструментов (файловые дескрипторы). Демон — это охранник, который работает в фоне 24\u002F7.\n\n### Система инициализации\n\nПри загрузке ядро запускает первый процесс — init (PID=1). В Ubuntu 24.04 это systemd. Этот процесс является предком всех остальных процессов.\n\n| Система инициализации | Описание |\n|---|---|\n| SysV init | Классическая система, последовательный запуск скриптов из `\u002Fetc\u002Finit.d\u002F` |\n| Upstart | Разработка Canonical, параллельный запуск (использовалась в Ubuntu до 15.04) |\n| systemd | Современный стандарт. Параллельный запуск, управление зависимостями, cgroups, журналирование |\n\n### Состояния процесса\n\n| Состояние | Обозначение | Описание |\n|---|---|---|\n| Running | `R` | Выполняется или ожидает в очереди CPU |\n| Sleeping | `S` | Ожидает события (ввод-вывод, сигнал) — прерываемый сон |\n| Uninterruptible Sleep | `D` | Ожидает завершения операции I\u002FO — непрерываемый сон |\n| Stopped | `T` | Остановлен сигналом (например, `Ctrl+Z`) |\n| Zombie | `Z` | Завершён, но родитель не прочитал его код возврата |\n\n### Демоны (daemons)\n\nФоновые процессы, работающие без привязки к терминалу. По соглашению их имена часто заканчиваются на `d`: `sshd`, `httpd`, `dockerd`, `systemd`.\n\n- Запускаются при загрузке системы\n- Не имеют управляющего терминала\n- Работают от имени специального пользователя (не root, если возможно)\n- Записывают логи в файлы или syslog\n\n### Основные команды для работы с процессами\n\n\u003Cdetails>\n\u003Csummary>Команды управления процессами\u003C\u002Fsummary>\n\n```bash\n# Показать дерево процессов\npstree -p\n\n# Показать процессы текущего пользователя\nps aux\n\n# Найти процесс по имени\nps aux | grep java\npgrep -a java\n\n# Отправить сигнал процессу\nkill PID          # SIGTERM (корректное завершение)\nkill -9 PID       # SIGKILL (принудительное завершение)\nkill -HUP PID     # SIGHUP (перечитать конфигурацию)\n\n# Завершить все процессы по имени\nkillall java\npkill java\n\n# Запуск процесса в фоне\n.\u002Frun.sh &\n\n# Перевод в фон \u002F на передний план\nCtrl+Z            # Остановить и перевести в фон\nbg                # Продолжить выполнение в фоне\nfg                # Вернуть на передний план\njobs              # Показать фоновые задачи\n```\n\n\u003C\u002Fdetails>\n\n> **На собеседовании:** интервьюер хочет услышать про PID=1 (systemd), состояния процессов (особенно Zombie) и разницу SIGTERM vs SIGKILL. Частая ошибка — не упомянуть, что `kill -9` не даёт процессу возможность корректно завершиться (закрыть соединения, сохранить данные), поэтому сначала всегда используют `kill` (SIGTERM).","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Что такое процессы в Linux? Что такое init\u002Fsystemd, PID, PPI — Gymterview","Процесс — экземпляр работающей программы. Каждый процесс имеет PID (Process ID), PPID (Parent Process ID), собственное адресное пространство, набор файловых дес","Процесс — экземпляр работающей программы. Каждый процесс имеет PID (Process ID), PPID (Parent Process ID), собственное а",[7,13],"Процесс — экземпляр работающей программы. Каждый процесс имеет PID (Process ID), PPID (Parent Process ID), собственное адресное пространство, набор файловых дескрипторов, владельца (UID) и группу (GID).",true]