TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #925 894
🌟 psmisc toolkit: fuser, pstree, killall в реальной админке

psmisc - небольшой набор утилит, которые часто оказываются полезнее, чем кажутся на первый взгляд. Обычно пакет ставят ради трех команд: fuser, pstree, killall

▪️ Установка:


apt install psmisc
# или:
yum install psmisc


▪️ fuser: кто держит файл, порт или mount point. fuser показывает процессы, которые используют файл, каталог, сокет или файловую систему. Например, не получается размонтировать диск:


umount /mnt/backup


А в ответ: target is busy

Смотрим, кто держит mount point:


fuser -vm /mnt/backup


Можно увидеть PID, пользователя и тип доступа. Если нужно аккуратно завершить процессы:


fuser -k /mnt/backup


Но с -k лучше не спешить. Сначала посмотреть, потом убивать.

Еще полезный пример - кто держит TCP-порт:


fuser -v 8080/tcp


Или UDP:


fuser -v 53/udp


▪️ pstree: дерево процессов вместо каши. ps aux часто превращается в простыню. pstree показывает процессы в виде дерева: кто кого запустил и где родительский процесс.


pstree


С PID:


pstree -p


Для конкретного пользователя:


pstree -u username


Для конкретного процесса:


pstree -p 1234


Это очень удобно, когда нужно понять:

• какой процесс породил дочерние
• кто держит worker’ы
• почему после остановки сервиса остались потомки
• откуда запущен странный процесс
• что происходит внутри shell-сессии или скрипта


Например, при зависшем deploy можно быстро увидеть цепочку:


sshd───bash───deploy.sh───rsync


И уже понятно, кого действительно нужно трогать.

▪️ killall: завершить процессы по имени. killall убивает процессы по имени, а не по PID. Например:


killall nginx


или мягко через TERM:


killall -TERM nginx


Если процесс не реагирует:


killall -KILL nginx


Но KILL - это крайний вариант. Сначала лучше отправлять TERM, чтобы процесс мог корректно завершиться. Можно посмотреть, что будет затронуто:


pgrep -a nginx


А уже потом использовать killall.

killall работает по имени процесса. Если на сервере есть несколько процессов с одинаковым именем, можно задеть лишнее.
Особенно осторожно с короткими именами и системными процессами.
Хороший порядок в админке такой:


fuser -vm /mnt/backup
pstree -p
pgrep -a process_name
killall -TERM process_name


Сначала понять, кто держит ресурс. Потом посмотреть дерево процессов. И только потом что-то завершать.

#linux #psmisc

🧑‍💻 NetworkAdmin
  • 👍 7
  • ❤ 2
More from @networkadminru
  1. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  2. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  3. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  4. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
  5. Sep 22, 2026🌚 watch: простая динамическая диагностика в терминале Иногда не нужен отдельный мониторин…
  6. Sep 21, 2026👌 Firewall default deny: как внедрять без внезапного отрезания доступа Идея простая: разр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →