Что значит состояние процесса Z в Linux
Иногда в
Что такое процесс-зомби
Процесс в состоянии Z (zombie) - это процесс, который уже завершился, но его родитель ещё не забрал код завершения через wait().
Проще говоря:
🟢 сам процесс мертв;
🟢 запись о нём осталась в таблице процессов;
🟢 ресурсы (CPU, память) он не потребляет.
Почему появляются зомби
Каждый процесс в Linux обязан:
🔴 завершиться;
🔴 сообщить родителю статус выхода;
🔴 быть «убранным» родителем.
Если родитель:
🟢 не вызывает wait();
🟢 завис;
🟢 написан с ошибкой,
то дочерний процесс превращается в зомби.
Почему зомби нельзя убить
✅ процесса фактически уже нет;
✅ сигналу некуда доставляться.
Поэтому:
🤔 kill -9 не помогает;
🤔 перезапускать нужно родителя, а не зомби.
Опасны ли зомби
Один-два - нет.
Тысячи - да.
Хотя зомби не жрут ресурсы, они:
- занимают PID’ы;
- могут забить таблицу процессов;
- указывают на баги в приложении.
Как избавиться от зомби
Правильные способы:
🟢 перезапустить родительский процесс;
🟢 починить код, чтобы вызывался wait();
🟢 в крайнем случае - перезапуск сервиса или системы.
Неправильный способ - бесконечно пытаться убить Z через kill.
Иногда в
ps, top или htop можно увидеть процесс со статусом Z. Это не «зависший» и не «работающий» процесс - это зомби.Что такое процесс-зомби
Процесс в состоянии Z (zombie) - это процесс, который уже завершился, но его родитель ещё не забрал код завершения через wait().
Проще говоря:
Почему появляются зомби
Каждый процесс в Linux обязан:
Если родитель:
то дочерний процесс превращается в зомби.
Почему зомби нельзя убить
kill не работает, потому что:Поэтому:
🤔 kill -9 не помогает;
🤔 перезапускать нужно родителя, а не зомби.
Опасны ли зомби
Один-два - нет.
Тысячи - да.
Хотя зомби не жрут ресурсы, они:
- занимают PID’ы;
- могут забить таблицу процессов;
- указывают на баги в приложении.
Как избавиться от зомби
Правильные способы:
Неправильный способ - бесконечно пытаться убить Z через kill.
Состояние Z - это не проблема ядра и не баг Linux. Это сигнал, что где-то есть криво написанный родительский процесс. Если видишь зомби - ищи того, кто его «породил».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Какой командой можно посмотреть использование сети в реальном времени?
Anonymous Quiz
13%
top
58%
netcat
25%
bandwhich
4%
lsmod
👎7❤3
Как посмотреть использование сети в реальном времени в Linux
Одна из самых частых болей в Linux - «интернет лагает, но непонятно почему». Процессов много, сервисов ещё больше, а понять, кто именно сейчас ест сеть, бывает сложно. Именно для таких ситуаций и существует bandwhich.
Это утилита, которая в реальном времени показывает, какие процессы и подключения потребляют сетевой трафик. Не абстрактные мегабиты по интерфейсу, а конкретно: какой процесс, по какому адресу и с какой скоростью передаёт или принимает данные. В этом её ключевое отличие от классических инструментов.
В отличие от
Bandwhich особенно хорошо заходит, когда нужно быстро найти источник проблемы: внезапно вырос исходящий трафик, сервер начал «качать» данные без видимой причины, контейнер неожиданно упирается в лимиты. Запустил утилиту - и сразу видно, кто именно виноват.
Отдельный плюс - читаемый интерфейс. Никаких графиков ради графиков, только полезная информация: процесс, направление трафика, скорость и общий объём. Именно поэтому bandwhich часто используют DevOps, админы и SRE во время инцидентов, когда времени разбираться «по науке» просто нет.
Одна из самых частых болей в Linux - «интернет лагает, но непонятно почему». Процессов много, сервисов ещё больше, а понять, кто именно сейчас ест сеть, бывает сложно. Именно для таких ситуаций и существует bandwhich.
Это утилита, которая в реальном времени показывает, какие процессы и подключения потребляют сетевой трафик. Не абстрактные мегабиты по интерфейсу, а конкретно: какой процесс, по какому адресу и с какой скоростью передаёт или принимает данные. В этом её ключевое отличие от классических инструментов.
В отличие от
top, который работает с CPU и памятью, bandwhich вообще не интересуется загрузкой процессора. Он смотрит на сетевые сокеты и сопоставляет их с процессами. Поэтому top здесь бесполезен. netcat - это инструмент для ручной работы с соединениями, а не мониторинг. lsmod вообще показывает загруженные модули ядра и к сети отношения не имеет.Bandwhich особенно хорошо заходит, когда нужно быстро найти источник проблемы: внезапно вырос исходящий трафик, сервер начал «качать» данные без видимой причины, контейнер неожиданно упирается в лимиты. Запустил утилиту - и сразу видно, кто именно виноват.
Отдельный плюс - читаемый интерфейс. Никаких графиков ради графиков, только полезная информация: процесс, направление трафика, скорость и общий объём. Именно поэтому bandwhich часто используют DevOps, админы и SRE во время инцидентов, когда времени разбираться «по науке» просто нет.
Если коротко: когда нужен быстрый и честный ответ на вопрос «кто жрёт сеть прямо сейчас», правильная команда - bandwhich.
👍6👎3
Что делает команда ncdu?
Anonymous Quiz
3%
Показывает историю команд
69%
Анализирует дисковое пространство в TUI
10%
Создаёт системные дампы
18%
Мониторит порты
👍3👎1
Что делает команда ncdu и почему без неё сложно жить
В какой-то момент на любом Linux-сервере заканчивается место. Причём заканчивается внезапно: всё работало, алертов не было, а потом - «No space left on device». И вот тут начинается классическая боль: что именно съело диск?
В отличие от просмотра размеров через
Самое важное - интерактивность. Можно быстро перемещаться по каталогам, сравнивать размеры, а при необходимости удалять файлы прямо из интерфейса. Это особенно полезно на серверах, где каждая минута простоя стоит дорого.
В какой-то момент на любом Linux-сервере заканчивается место. Причём заканчивается внезапно: всё работало, алертов не было, а потом - «No space left on device». И вот тут начинается классическая боль: что именно съело диск?
ncdu решает эту проблему быстро и наглядно. Это TUI-утилита для анализа дискового пространства, которая показывает, какие каталоги и файлы реально занимают место, и позволяет проваливаться внутрь структуры шаг за шагом. Не отчётом в терминале, а живым интерфейсом.В отличие от просмотра размеров через
du, где ты получаешь простыню чисел и сам пытаешься понять, что к чему, ncdu сразу сортирует всё по размеру. Ты запускаешь её в нужном каталоге и моментально видишь, где лежит мусор, логи, кэши или забытые артефакты сборок.Самое важное - интерактивность. Можно быстро перемещаться по каталогам, сравнивать размеры, а при необходимости удалять файлы прямо из интерфейса. Это особенно полезно на серверах, где каждая минута простоя стоит дорого.
ncdu анализирует использование дискового пространства в текстовом интерфейсе и делает это намного удобнее и быстрее, чем классические утилиты. Если диск забился, а времени разбираться нет - ncdu почти всегда первый инструмент, который стоит запускать.👍12👎2
Что делает команда mtr?
Anonymous Quiz
11%
Отправляет HTTP-запросы
71%
Показывает задержки и потери по маршруту
12%
Мониторит ядро
6%
Проверяет лимиты процессов
Что делает команда mtr и почему она незаменима при сетевых проблемах
Когда начинаются проблемы с сетью, первый вопрос обычно звучит так: «это у нас или где-то по дороге?».
Пакеты теряются, задержки скачут, сервисы то отвечают, то молчат. В такие моменты обычный
Ключевая ценность
Другие варианты из опроса к задаче не относятся.
Когда начинаются проблемы с сетью, первый вопрос обычно звучит так: «это у нас или где-то по дороге?».
Пакеты теряются, задержки скачут, сервисы то отвечают, то молчат. В такие моменты обычный
ping даёт слишком мало информации, а traceroute - слишком статичную картину.mtr объединяет оба подхода. Эта команда в реальном времени показывает маршрут до узла, задержки на каждом хопе и процент потерь пакетов. Причём данные обновляются постоянно, а не один раз, как в классическом traceroute. Именно поэтому mtr так любят админы и DevOps во время инцидентов.Ключевая ценность
mtr в том, что ты видишь не просто «пинг плохой», а конкретный участок маршрута, где начинаются проблемы. Это может быть перегруженный шлюз, провайдерский узел или междатацентровый линк. С таким выводом уже можно идти к сетевикам или провайдеру, а не гадать на кофейной гуще.Другие варианты из опроса к задаче не относятся.
mtr не работает с HTTP, не мониторит ядро и не проверяет лимиты процессов. Его задача строго одна - диагностика сети.mtr показывает задержки и потери пакетов по маршруту до целевого хоста и делает это в живом режиме, что делает его одним из лучших инструментов для анализа сетевых проблем в Linux.👍9
Что делает jq '.users[].name'?
Anonymous Quiz
10%
Показывает структуру JSON
2%
Фильтрует только числовые поля
1%
Преобразует JSON в XML
87%
Парсит JSON и выводит имена всех пользователей
👍1
Что делает jq '.users[].name' и зачем это вообще нужно
JSON давно стал стандартным форматом для API, логов и сервисных ответов. Проблема в том, что читать его «глазами» в терминале неудобно, а писать парсеры ради одного запроса - перебор. Именно здесь на сцену выходит
Команда
На практике это используется постоянно. Ты делаешь запрос к API через
Важно понимать, что
JSON давно стал стандартным форматом для API, логов и сервисных ответов. Проблема в том, что читать его «глазами» в терминале неудобно, а писать парсеры ради одного запроса - перебор. Именно здесь на сцену выходит
jq.Команда
jq '.users[].name' берёт JSON-документ, заходит в поле users, проходит по каждому элементу массива и выводит значение поля name. Никакой магии - просто точечная навигация по структуре данных.На практике это используется постоянно. Ты делаешь запрос к API через
curl, получаешь большой JSON и хочешь быстро вытащить нужные значения: имена пользователей, ID, статусы, хосты, версии. Вместо копипасты в браузер или написания скрипта на Python ты добавляешь | jq '.users[].name' и сразу получаешь чистый, удобочитаемый вывод.Важно понимать, что
jq не показывает структуру целиком, не превращает JSON в XML и не ограничивается числовыми полями. Он именно парсит данные и позволяет выбирать нужные куски, комбинировать их, фильтровать и преобразовывать.jq '.users[].name' парсит JSON и выводит имена всех пользователей из массива users, делая работу с API и логами в Linux быстрой и вменяемой.👍7
Итоги 2025: какие Linux-утилиты вытеснили старую классику
2025 год стал годом “ревизии терминала”. Множество привычных утилит получили современных наследников, и инженеры постепенно перестали держаться за классические инструменты только по инерции. Ниже - подборка утилит, которые в 2025 году стали де-факто заменой старой школы.
1. btop++ вместо htop и top
Если раньше “htop must-have”, то в 2025 “must-have” - btop++.
Что изменилось:
🟢 графики CPU, памяти, сети и дисков в реальном времени
🟢 удобные фильтры по процессам
🟢 чёткая визуализация нагрузки по ядрам
🟢 встроенный менеджер процессов
top уже окончательно воспринимается как археология.
Установка:
2. duf вместо df и du
Вместо разрозненных df/du инженеры всё чаще используют duf.
Почему заменил классику:
▫️ нормальный человекочитаемый вывод, а не стену цифр
▫️ цветовая индикация свободного места
▫️ сортировка по объёму и типу диска
▫️ поддержка docker volumes, snap, zfs
Установка:
3. ncdu вместо du -sh | sort -h
Плюсы
▪️ интерактивная TUI
▪️ навигация по каталогам
▪️ мгновенное удаление лишнего
▪️ идеален для серверов и контейнеров
Установка:
4. ripgrep (rg) вместо grep
В 2025
Чем лучше
▪️ работает в разы быстрее
▪️ учитывает .gitignore
▪️ умный поиск по типам файлов
▪️ удобный человекочитаемый вывод
▪️ написан на Rust, безопасный и быстрый
Установка:
5. fd вместо find
Преимущества:
▪️ понятные фильтры
▪️ regex по умолчанию
▪️ быстрый поиск
▪️ приятный вывод результата
6. bat вместо cat
Почему все перешли на bat:
▪️ подсветка синтаксиса
▪️ нумерация строк
▪️ встроенный просмотрщик (pager)
▪️ поддерживает 200+ языков
7. zoxide вместо cd
Самая тихая революция 2025 года.
Пример:
Он запоминает частоту посещений и прыгает в нужную папку мгновенно.
Установка:
8. exa или lsd вместо ls
ls в 2025 - только для минималистов.
▪️ цветной вывод
▪️ дерево директорий
▪️ иконки файлов
▪️ человекочитаемые размеры по умолчанию
Главный тренд 2025
Инструменты становятся не просто “утилитами для терминала”, а полноценными TUI-приложениями: удобными, красивыми, визуальными.
Linux перестал быть “аскетичным”, и многие инженеры теперь предпочитают инструменты, которые экономят время и делают работу комфортнее.
Какие утилиты вы заменили в 2025?
2025 год стал годом “ревизии терминала”. Множество привычных утилит получили современных наследников, и инженеры постепенно перестали держаться за классические инструменты только по инерции. Ниже - подборка утилит, которые в 2025 году стали де-факто заменой старой школы.
1. btop++ вместо htop и top
Если раньше “htop must-have”, то в 2025 “must-have” - btop++.
Что изменилось:
top уже окончательно воспринимается как археология.
Установка:
sudo apt install btop
2. duf вместо df и du
Вместо разрозненных df/du инженеры всё чаще используют duf.
Почему заменил классику:
Установка:
sudo apt install duf
3. ncdu вместо du -sh | sort -h
du - инструмент отличный, но работать с ним неудобно.ncdu стал стандартом анализа дискового пространства.Плюсы
ncdu:Установка:
sudo apt install ncdu
4. ripgrep (rg) вместо grep
В 2025
rg стал стандартом для поиска по коду.Чем лучше
grep:Установка:
sudo apt install ripgrep
5. fd вместо find
find - мощный, но синтаксис слишком специфичный.fd - простая и более логичная замена.Преимущества:
6. bat вместо cat
cat жив, но bat стал новой нормой.Почему все перешли на bat:
7. zoxide вместо cd
Самая тихая революция 2025 года.
zoxide - это умная навигация по директориям.Пример:
z projects
z src
z nginx
Он запоминает частоту посещений и прыгает в нужную папку мгновенно.
Установка:
sudo apt install zoxide
8. exa или lsd вместо ls
ls в 2025 - только для минималистов.
exa/lsd дают:Главный тренд 2025
Инструменты становятся не просто “утилитами для терминала”, а полноценными TUI-приложениями: удобными, красивыми, визуальными.
Linux перестал быть “аскетичным”, и многие инженеры теперь предпочитают инструменты, которые экономят время и делают работу комфортнее.
Какие утилиты вы заменили в 2025?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5
Почему Linux популярен везде, кроме домашних компьютеров?
Давайте посмотрим на реальную статистику:
99% суперкомпьютеров из топ-500 работают на Linux
✔️ Более 90% облачной инфраструктуры (включая серверы Amazon AWS, Google Cloud, Microsoft Azure) работает на Linux
✔️ 82% смартфонов в мире (все устройства Android) используют ядро Linux
✔️ 95% мирового интернет-трафика проходит через серверы на Linux
✔️ Почти все встроенные системы (роутеры, телевизоры, автомобильные компьютеры) построены на Linux
Парадокс налицо: операционная система, которую «никто не использует», управляет цифровым миром.
Почему серверы полюбили Linux?
🚩 Стабильность
Представьте сервер, который работает годами без перезагрузки. Это не фантастика — это стандартная практика для Linux-серверов. Монолитное, но модульное ядро, унаследованное от UNIX-философии «делай одну вещь и делай её хорошо», обеспечивает беспрецедентную надёжность. (правда не все подсистемы этому следуют)
🚩 Свобода
Абсолютный контроль: Можно залезть в любую часть системы
Выбирайте системы, которые поддерживают активное сообщество и у вас не будет vendor lock-in: Не окажитесь в ситуации «спасибо, что купили нашу систему, теперь платите за обновление»
Глобальная поддержка сообщества: Если есть проблема — её решают тысячи экспертов по всему миру
🚩 Экономика
Один лицензионный ключ Windows Server Standard стоит около $1000. Теперь умножьте это на 10 000 серверов. Linux предлагает ту же (а часто и большую) функциональность за $0. Математика...
🚩Легковесность и гибкость
Нужен веб-сервер? Ставим минимальную систему без графического интерфейса. Нужна система для IoT-устройства с 256 МБ памяти? Собираем своё ядро без всего лишнего. Linux можно «нарезать» под любые требования.
🚩Android и IoT
Android выбрал ядро Linux не случайно:
✔️ Уже готовое, стабильное, многозадачное ядро
✔️ Поддержка огромного количества железа
✔️ Бесплатная лицензия (GPL)
Ваш умный чайник, холодильник, телевизор и автомобиль почти наверняка работают на Linux. Почему?
✔️ Минимальные требования к ресурсам
✔️ Возможность убрать всё ненужное
✔️ Поддержка экзотического железа
✔️ Возможность внести изменения
🚩Суперкомпьютеры
Последний суперкомпьютер на Windows исчез из топ-500 в 2014 году. С тех пор — только Linux. Причины:
✔️ Масштабируемость: Можно собрать кластер из миллионов ядер
✔️ Гибкость настройки: Каждый суперкомпьютер уникален, под каждую архитектуру нужно своё ядро
✔️ Производительность: Минимальные накладные расходы, можно выжать максимум из железа
Почему же не десктоп? Напишу в следующей статье.... Эта и так длинная получилась.
Давайте посмотрим на реальную статистику:
99% суперкомпьютеров из топ-500 работают на Linux
Парадокс налицо: операционная система, которую «никто не использует», управляет цифровым миром.
Почему серверы полюбили Linux?
🚩 Стабильность
Представьте сервер, который работает годами без перезагрузки. Это не фантастика — это стандартная практика для Linux-серверов. Монолитное, но модульное ядро, унаследованное от UNIX-философии «делай одну вещь и делай её хорошо», обеспечивает беспрецедентную надёжность. (правда не все подсистемы этому следуют)
🚩 Свобода
Абсолютный контроль: Можно залезть в любую часть системы
Выбирайте системы, которые поддерживают активное сообщество и у вас не будет vendor lock-in: Не окажитесь в ситуации «спасибо, что купили нашу систему, теперь платите за обновление»
Глобальная поддержка сообщества: Если есть проблема — её решают тысячи экспертов по всему миру
🚩 Экономика
Один лицензионный ключ Windows Server Standard стоит около $1000. Теперь умножьте это на 10 000 серверов. Linux предлагает ту же (а часто и большую) функциональность за $0. Математика...
🚩Легковесность и гибкость
Нужен веб-сервер? Ставим минимальную систему без графического интерфейса. Нужна система для IoT-устройства с 256 МБ памяти? Собираем своё ядро без всего лишнего. Linux можно «нарезать» под любые требования.
🚩Android и IoT
Android выбрал ядро Linux не случайно:
Ваш умный чайник, холодильник, телевизор и автомобиль почти наверняка работают на Linux. Почему?
🚩Суперкомпьютеры
Последний суперкомпьютер на Windows исчез из топ-500 в 2014 году. С тех пор — только Linux. Причины:
Почему же не десктоп? Напишу в следующей статье.... Эта и так длинная получилась.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👏5🔥3👎1
Почему же Linux не так популярен на десктоп?
Критическая масса проблем
🟢 Обратная совместимость
Windows десятилетиями сохраняет совместимость со старыми играми и программами. Linux не может себе этого позволить — цена такой совместимости была бы отказом от инноваций.
🟢 Драйвера
Производители железа: «Мы не пишем драйверы для Linux, потому что его мало кто использует».
Пользователи: «Мы не используем Linux, потому что для него нет драйверов».
Этот круг разорвала только компания Valve со Steam Deck, инвестировав в драйверы для видеокарт AMD и популярность Proton для запуска игр.
Я сам давно не играю и не использую специфическое оборудование, но слухи доходят.
🟢 Фрагментация.
Для сервера: выбираем один дистрибутив (RHEL/Debian) и работаем 10 лет.
Для десктопа: новичок спрашивает «Какой дистрибутив выбрать?» и получает 20 взаимоисключающих ответов.
🟢 Культурный разрыв
Пользователи Windows привыкли:
Искать программы в интернете
⬇️
Устанавливать .exe файлы
⬇️
Не думать о зависимостях библиотек
Linux предлагает другой подход (пакетные менеджеры, репозитории), который требует переобучения.
🟢 Маркетинг Microsoft
Огромные бюджеты на:
✔️ Предустановку на ПК
✔️ Корпоративные лицензии
✔️ Рекламу
✔️ Интеграцию с офисным софтом
У Linux нет ни маркетингового отдела, ни бюджета на рекламу.
🌟 Тихое проникновение на десктоп
Но ситуация меняется:
Steam Deck показал, что Linux может быть удобной игровой платформой
Windows Subsystem for Linux — признание от самого Microsoft, что Linux-инструменты необходимы разработчикам
Профессионалы (разработчики, АйТишники, учёные) массово переходят на macOS (UNIX-подобная система) и Linux
Как тебе живется на Linux? Сильно больно?
Критическая масса проблем
Windows десятилетиями сохраняет совместимость со старыми играми и программами. Linux не может себе этого позволить — цена такой совместимости была бы отказом от инноваций.
Производители железа: «Мы не пишем драйверы для Linux, потому что его мало кто использует».
Пользователи: «Мы не используем Linux, потому что для него нет драйверов».
Этот круг разорвала только компания Valve со Steam Deck, инвестировав в драйверы для видеокарт AMD и популярность Proton для запуска игр.
Я сам давно не играю и не использую специфическое оборудование, но слухи доходят.
Для сервера: выбираем один дистрибутив (RHEL/Debian) и работаем 10 лет.
Для десктопа: новичок спрашивает «Какой дистрибутив выбрать?» и получает 20 взаимоисключающих ответов.
Пользователи Windows привыкли:
Искать программы в интернете
Устанавливать .exe файлы
Не думать о зависимостях библиотек
Linux предлагает другой подход (пакетные менеджеры, репозитории), который требует переобучения.
Огромные бюджеты на:
У Linux нет ни маркетингового отдела, ни бюджета на рекламу.
Но ситуация меняется:
Steam Deck показал, что Linux может быть удобной игровой платформой
Windows Subsystem for Linux — признание от самого Microsoft, что Linux-инструменты необходимы разработчикам
Профессионалы (разработчики, АйТишники, учёные) массово переходят на macOS (UNIX-подобная система) и Linux
Как тебе живется на Linux? Сильно больно?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4👎2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎2