Поиск по сайту:
Трусость — мать жестокости (М. Монтень).

fuser – поиск и завершение процессов по файлу, каталогу или порту

16.04.2025
fuser – поиск и завершение процессов по файлу, каталогу или порту

Одной из важнейших задач при администрировании систем Linux является управление процессами, которое включает в себя несколько операций, таких как мониторинг, передача сигналов процессам и установка приоритетов процессов в системе.

Существует множество инструментов/утилит Linux, предназначенных для мониторинга и управления процессами, таких как toppspgrepkill, killall, nice и многие другие.

В этой статье мы расскажем, как находить процессы с помощью мощной и многофункциональной утилиты Linux под названием fuser.

 

Что такое fuser в Linux?

fuser — это простая, но мощная утилита командной строки, предназначенная для поиска процессов по файлам, каталогам или сокетам, к которым обращается конкретный процесс. Короче говоря, она помогает пользователю системы определить, какие процессы используют определённые файлы или сокеты.

Основной синтаксис для использования fuser таков:

fuser [options] [file|socket]
fuser [options] -SIGNAL [file|socket]
fuser -l

 

Определите, какой процесс обращается к каталогу

При запуске fuser без каких-либо параметров отображаются идентификаторы процессов, которые в данный момент обращаются к вашему текущему рабочему каталогу.
fuser .
OR
fuser /home/tecmint

 

Поиск запущенных процессов каталога (подробный вывод)

Для получения более подробного и понятного вывода включите -v или --verbose следующим образом. В выводе fuser отображается имя текущего каталога, затем столбцы с информацией о владельце процесса (USER), идентификаторе процесса (PID), типе доступа (ACCESS) и команде (COMMAND).

fuser -v .

 

В столбце ACCESS вы увидите типы доступа, обозначенные следующими буквами:

  • c – текущий каталог.
  • e – исполняемый файл, который выполняется.
  • f – однако открытый файл f не учитывается в выходных данных.
  • F – открытый файл для записи, F также исключается из выходных данных.
  • r – корневой каталог.
  • m – файл mmap’ed или общая библиотека.
Читать  Как исправить зависания Ubuntu, сбои или зависания системы

 

Определите, какой процесс обращается к файлу или файловой системе

Чтобы определить, какие процессы обращаются к вашему файлу ~/.bashrc, запустите:

fuser -v -m .bashrc

 

Опция -m NAME или --mount NAME показывает все процессы, обращающиеся к заданному файлу или каталогу. Если вы передаёте каталог как NAME, он автоматически добавляет / для ссылки на файловую систему, подключённую к этому каталогу.

 

Определите, какой процесс использует определенный порт

Другой практический пример использования — определение того, какой процесс использует конкретный сетевой порт. Это особенно полезно для отладки конфликтов служб.

sudo fuser 80/tcp

или

sudo fuser -v 80/tcp

 

Здесь будет показан PID процесса, использующего TCP-порт 80. Добавьте -v для получения подробного вывода.

 

Как останавливать процессы и подавать сигналы С помощью fuser

Чтобы завершить все процессы, обращающиеся к файлу или сокету, используйте опцию -k или --kill

sudo fuser -k .

 

Чтобы в интерактивном режиме завершить процесс, при котором вас попросят подтвердить намерение завершить процессы, обращающиеся к файлу или сокету, используйте опцию -i или --interactive

sudo fuser -ki .

 

Две предыдущие команды завершат все процессы, обращающиеся к вашему текущему каталогу; по умолчанию процессам отправляется сигнал SIGKILL, за исключением случаев, когда используется -SIGNAL

 

Перечислите все доступные сигналы в Linux

Вы можете вывести список всех сигналов, используя параметры -l или –-list-signals ниже.

sudo fuser --list-signals

 

Читать  Как вывести список системных служб в Linux

Отправлять определенный сигнал процессам

Таким образом, вы можете отправить сигнал процессам с помощью следующей команды, где SIGNAL — любой из сигналов, перечисленных выше.

sudo fuser -k -SIGNAL

 

Например, чтобы отправить сигнал HUP (завершение вызова) процессам, обращающимся к /boot.

sudo fuser -k -HUP /boot

 

Для более подробного использования ознакомьтесь со страницей руководства fuser.

man fuser

 

Заключение

Команда fuser может быть не первым инструментом, который приходит на ум при управлении процессами, но это скрытая жемчужина для любого пользователя Linux или системного администратора. Она идеально подходит для определения того, какие процессы используют определённые файлы, каталоги или порты, и позволяет напрямую с ними взаимодействовать.

Если вы работаете с файлами, каталогами или сетевыми службами в системе Linux, изучение fuser на 100% стоит вашего времени.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
WordPress, самая популярная система управления контентом (CMS) во всем мире,…

Спасибо!

Теперь редакторы в курсе.