Узнайте, как использовать команду «fuser» с примерами в Linux
Одной из наиболее важных задач системного администрирования Linux является управление процессами. Он включает в себя несколько операций мониторинга, процессов сигнализации, а также установку приоритетов процессов в системе.
Существует множество инструментов/утилитов Linux, предназначенных для мониторинга/управления процессами, таких как top, ps, pgrep, kill, killall, nice в сочетании со многими другими.
В этой статье мы узнаем, как найти процессы с помощью полезной утилиты Linux под названием fuser.
Рекомендуется к прочтению: Найдите наиболее запущенные процессы по максимальному использованию памяти и процессора
fuser — это простая, но мощная утилита командной строки, предназначенная для поиска процессов на основе файлов, каталогов или сокетов, к которым обращается конкретный процесс. Короче говоря, это помогает пользователю системы идентифицировать процессы, использующие файлы или сокеты.
Как использовать фьюзер в системах Linux
Обычный синтаксис использования fuser:
fuser [options] [file|socket]
fuser [options] -SIGNAL [file|socket]
fuser -l
Ниже приведены несколько примеров использования fuser для поиска процессов в вашей системе.
Найдите, какой процесс обращается к каталогу
Запуск команды fuser без каких-либо опций отобразит PID процессов, которые в данный момент обращаются к вашему текущему рабочему каталогу.
fuser .
OR
fuser /home/tecmint
Для более подробного и четкого вывода включите -v
или --verbose
следующим образом. В выводе fuser выводит имя текущего каталога, затем столбцы владельца процесса (USER), идентификатор процесса (PID). , тип доступа (ACCESS) и команду (COMMAND), как показано на рисунке ниже.
fuser -v
В столбце ДОСТУП вы увидите типы доступа, обозначенные следующими буквами:
c
– текущий каталогe
– запускаемый исполняемый файлf
– открыть файл, однако f не отображается в выводеF
– открыть файл для записи, F также исключается из выводаr
– корневой каталогm
– файл с отображением mmap или общая библиотека
Найдите, какой процесс обращается к файловой системе
Далее вы можете определить, какие процессы обращаются к вашему файлу ~.bashrc
следующим образом:
fuser -v -m .bashrc
Опция -m
NAME или --mount
NAME означает имя всех процессов, обращающихся к файлу NAME. Если вы укажете каталог как NAME, он автоматически изменится на NAME/
, чтобы использовать любую файловую систему, которая возможно смонтирована в этом каталоге.
Рекомендуется к прочтению: Найдите 15 процессов, которые чаще всего используют память в Linux
Как завершать процессы и сигнализировать о них с помощью фьюзера
В этом разделе мы поработаем над использованием fuser для завершения процессов и отправки сигналов им.
Чтобы завершить процесс, обращающийся к файлу или сокету, используйте опцию -k
или --kill
следующим образом:
sudo fuser -k .
Чтобы интерактивно завершить процесс, когда вас просят подтвердить ваше намерение завершить процессы, обращающиеся к файлу или сокету, используйте опцию -i
или --interactive
:
sudo fuser -ki .
Две предыдущие команды уничтожат все процессы, имеющие доступ к вашему текущему каталогу. Сигнал по умолчанию, отправляемый процессам, — SIGKILL, за исключением случаев, когда используется -SIGNAL. .
Рекомендуется к прочтению: Руководство по командам Kill, Pkill и Killall в Linux
Вы можете перечислить все сигналы, используя параметры -l
или --list-signals
, как показано ниже:
sudo fuser --list-signals
Таким образом, вы можете отправить сигнал процессам, как в следующей команде, где SIGNAL — это любой из сигналов, перечисленных в выводе выше.
sudo fuser -k -SIGNAL
Например, эта команда ниже отправляет сигнал HUP всем процессам, у которых открыт каталог /boot
.
sudo fuser -k -HUP /boot
Попробуйте прочитать справочную страницу fuser, чтобы найти дополнительные параметры использования, дополнительную и более подробную информацию.
На данный момент это все, вы можете связаться с нами через раздел обратной связи ниже, чтобы получить любую помощь, которая вам может понадобиться, или предложения, которые вы хотите сделать.