Иногда в проде происходит самая раздражающая вещь: ты видишь, что что-то запущено, но не понимаешь почему оно вообще живёт.
• ps покажет PID
- ss покажет порт
- systemctl покажет сервис
А вот связать всё это в одну понятную картинку - обычно ручной квест. И вот тут внезапно очень хорошо заходит утилита witr.
Сразу разберем пример использования на моей экспериментальной виртуалке где-то во Франции =)).
# Посмотрим по имени процесса.
root@dns:~# witr angie
Multiple matching processes found:
[1] angie (pid 35980)
angie: master process v1.11.2 #1 [/usr/sbin/angie -c /etc/angie/angie.conf]
[2] angie (pid 35981)
angie: worker process #1
Re-run with:
witr --pid <pid>
# Не повезло - у нас несолько пидов(уж простите за сквернословие)
# Поэтому посмотрим что там скрывается и почему работает 35981
root@dns:~# witr --pid 35981
Target : angie
# Это воркер, которого породил мастер-процесс ибо forked
Process : angie (pid 35981) {forked}
User : angie
Command : angie: worker process #1
Started : 6 days ago (Wed 2026-01-21 15:56:34 +00:00)
Restarts : 1
# Вот эта и есть killer-фича. Мы видим кто его породил!
# Systemd поднял master-процесс angie, а тот породил worker.
# Те это нормальный сервис под управлением init-системы
# А не кто то руками запустил.
Why It Exists :
systemd (pid 1) → angie (pid 35980) → angie (pid 35981)
Source : systemd
Working Dir : /
# Сразу видим порты на которых висит процесс мордой вперед
Listening : 0.0.0.0:44301
0.0.0.0:443
[::]:443
0.0.0.0:80
# Предупреждения - все по делу, ибо нефиг. Надо исправлять!
Warnings :
• Process is listening on a public interface
• Process is running from a suspicious working directory: /
И последнее - witr не пытается заменить systemd или сетевые утилиты. А просто экономит время, особенно когда ты на дежурстве и голова уже не варит.
Ну и бонусом можно не по pid-у пробивать процесс, а по занятому порту и дальше уже подключать детальный вывод с pid:
root@dns:~# witr --port 44301
Multiple matching processes found:
[1] angie (pid 35980)
angie: master process v1.11.2 #1 [/usr/sbin/angie -c /etc/angie/angie.conf]
[2] angie (pid 35981)
angie: worker process #1
Re-run with:
witr --pid <pid>
Полная инструкция и примеры использования: https://github.com/pranshuparmar/witr
---
📱 Telegram 📱 Github 📱 YouTube 📱 Twitter