Man page - fuser(1)

Packages contains this manual

Available languages:

en fr pt_BR ko sv hr ja uk ru ro sr de

Manual

FUSER

ИМЯ
ОБЗОР
ОПИСАНИЕ
ПАРАМЕТРЫ
ФАЙЛЫ
ПРИМЕРЫ
ОГРАНИЧЕНИЯ
ДЕФЕКТЫ
СМОТРИТЕ ТАКЖЕ

ИМЯ

fuser - ищет процессы, использующие указанные файлы или сокеты

ОБЗОР

fuser [ -fuv ] [ -a | -s ] [ -4 | -6 ] [ -c | -m | -n ОБЛАСТЬ ] [ -k [ -i ] [ -M ] [ -w ] [ - СИГНАЛ ] ] ИМЯ
fuser -l
fuser -V

ОПИСАНИЕ

fuser выводит PID процессов, которые используют заданные файлы или файловые системы. В режиме показа по умолчанию к каждому PID добавляется буква, обозначающая тип доступа:

c

текущий каталог.

e

работающий исполняемый файл.

f

открытый файл. В режиме отображения по умолчанию f не выводится.

F

открытый на запись файл. В режиме отображения по умолчанию F не выводится.

r

корневой каталог.

m

mmap-нутый файл или общая библиотека.

.

Символ место замещения, в режиме отображения по умолчанию не выводится.

fuser возвращает ненулевой код выхода, если ни к одному из указанных файлов никто не обращается или возникла критическая ошибка. Если найден хотя бы один доступ, то fuser возвращает ноль.

Чтобы найти процессы, использующие сокеты TCP и UDP нужно в параметре -n указать соответствующую область имён. По умолчанию fuser просматривает сокеты IPv6 и IPv4. Чтобы изменить поведение по умолчанию укажите параметр -4 и -6 . Сокеты можно задавать по локальному и удалённому порту и удалённому адресу. Все поля необязательны, но должны указываться запятые их разделяющие:

[ локальный_порт ][,[ удалённый_узел ][,[ удалённый_порт ]]]

Для IP-адресов и портов можно использовать символьные или числовые значения.

fuser выводит в stdout только PID-ы , всё остальное отправляется в stderr.

ПАРАМЕТРЫ

-a , --all

Показывать все файлы, указанные в командной строке. По умолчанию выводятся только файлы, которые используются хотя бы одним процессом.

-c

Тоже, что и параметр -m , используется для совместимости с POSIX.

-f

Игнорируется, используется для совместимости с POSIX.

-k , --kill

Завершить процессы, обращающиеся файлу. Если не указан - СИГНАЛ , то посылается SIGKILL. Процесс fuser никогда не завершает сам себя, но может завершить другие процессы fuser . Перед завершением эффективный пользовательский ID процесса, выполняющего fuser , устанавливается в его действительный пользовательский ID.

-i , --interactive

Запрашивать у пользователя подтверждение завершения процесса. Этот параметр игнорируется, если не указан -k .

-I , --inode

Для области имён file выполнять все сравнения основываясь на инодах указанных файлов и никогда не использовать имена файлов, даже для файлов в сетевых файловых системах.

-l , --list-signals

Показать все известные имена сигналов.

-m ИМЯ , --mount ИМЯ

В ИМЕНИ указывается файл в смонтированной файловой системе или смонтированное блочное устройство. Показываются все процессы, использующие все файлы на файловой системе. Если указан каталог, то он автоматически изменяется на ИМЯ /, чтобы использовать все файловые системы, которые могут быть смонтированы в этот каталог.

-M , --ismountpoint

Выполнять запрос, только если ИМЯ является точкой монтирования. Это бесценный ремень безопасности, который не позволит угробить машину, если ИМЯ вдруг не является файловой системой.

-w

Завершать только процессы с правами на запись. Этот параметр игнорируется, если не указан -k .

-n ОБЛАСТЬ , --namespace ОБЛАСТЬ

Выбрать другую область имён. Поддерживаются области имён file (имена файлов, по умолчанию), udp (локальные порты UDP) и tcp (локальные порты TCP). Порты могут указываться номером или символическим именем. Если не возникает двусмысленности, то можно использовать сокращённую запись имя / область (например, 80 / tcp ).

-s , --silent

Не выводить сообщения. В этом режиме игнорируются -u и -v . Параметр -a нельзя использовать вместе с -s .

- СИГНАЛ

Для завершения процессов посылать указанный сигнал вместо SIGKILL. Сигналы могут задаваться именем (например, -HUP ) или номером (например, -1 ). Этот параметр игнорируется, если не указан -k .

-u , --user

Добавлять имя пользователя владельца процесса к каждому PID.

-v , --verbose

Подробный режим. Процессы показываются в стиле ps . Поля PID, USER и COMMAND как у ps . В ACCESS показан тип доступа процесса к файлу. Подробный режим будет также использоваться при использовании определённого файла в качестве точки монтирования, экспорта knfs или файла подкачки. В этом случае вместо PID выводится обозначение kernel .

-V , --version

Показать информацию о версии.

-4 , --ipv4

Поиск только среди сокетов IPv4. Этот параметр не должен использоваться вместе с -6 и применяется только с областями имён tcp и udp.

-6 , --ipv6

Поиск только среди сокетов IPv6. Этот параметр не должен использоваться вместе с -4 и применяется только с областями имён tcp и udp.

ФАЙЛЫ

/proc

местонахождение файловой системы proc

ПРИМЕРЫ

fuser -km /home

завершить все процессы, обращающиеся к файловой системе /home любым способом.

if fuser -s /dev/ttyS1; then :; else команда ; fi

вызвать команду , если нет процессов, использующих /dev/ttyS1.

fuser telnet/tcp

показать все процессы на (локальном) порту TELNET.

ОГРАНИЧЕНИЯ

Процессы, обращающиеся к одному файлу или файловой системе несколько раз одним и тем же способом, выводятся однократно.

Если в командной строке один объект указывается несколько раз, то некоторые из этих элементов могут игнорироваться.

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

fuser не может сообщить о процессах, если не имеет прав поиска в таблице файловых дескрипторов. Чаще всего эта проблема возникает при поиске сокетов TCP или UDP в случае, если fuser запускается без прав пользователя root. В этом случае fuser сообщит, что нет доступа.

Установка fuser как SUID root решит проблему доступа к определённой информации, но может быть нежелательна при соблюдении безопасности и конфиденциальности.

Области имён udp , tcp и доменные сокеты UNIX не опрашиваются, если используются ядра старее версии 1.3.78.

Обращения ядра показываются только с параметром -v .

Параметр -k применим только для процессов. Если пользователем является ядро, то fuser выводит только совет и ничего не делает.

fuser не видит блочные устройства, смонтированные процессами в других пространствах имён монтирования. Это происходит из-за того, что ID устройства в таблице файловых дескрипторов процесса берётся из пространства имён процесса, а не fuser и они не совпадают.

ДЕФЕКТЫ

fuser -m /dev/sgX покажет (или завершит, если указан -k ) все процессы, даже если у вас нет этого настроенного устройства. Также, для этого могут быть другие устройства.

При параметре монтирования -m найдутся все файлы на том же устройстве, что и указанный файл, дополнительно укажите параметр -M , если вы подразумевали только точку монтирования.

fuser will not match mapped files, such as a process’ shared libraries if they are on a btrfs (5) filesystem due to the device IDs being different for stat (2) and /proc/<PID>/maps .

СМОТРИТЕ ТАКЖЕ

kill (1), killall (1), stat (2), btrfs (5), lsof (8), mount_namespaces (7), pkill (1), ps (1), kill (2).