ИМЯ
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 может
собирать
некоторую
информацию
только
имея
дополнительные
права. В
частности,
открытые
процессами
файлы,
принадлежащие
другим
пользователям,
могут не
появиться,
а
исполняемые
файлы
могут быть
отнесены
только к
отображённым.
fuser не
может
сообщить о
процессах,
если не
имеет прав
поиска в
таблице
файловых
дескрипторов.
Чаще всего
эта
проблема
возникает
при поиске
сокетов TCP
или UDP в
случае,
если fuser
запускается
без прав
пользователя
root. В этом
случае fuser
сообщит,
что нет
доступа.
Установка
fuser как SUID root
решит
проблему
доступа к
определённой
информации,
но может
быть
нежелательна
при
соблюдении
безопасности
и
конфиденциальности.
Области
имён udp, tcp и
доменные
сокеты UNIX не
опрашиваются,
если
используются
ядра
старее
версии 1.3.78.
Обращения
ядра
показываются
только с
параметром
-v.
Параметр
-k применим
только для
процессов.
Если
пользователем
является
ядро, то fuser
выводит
только
совет и
ничего не
делает.
fuser will not see block devices mounted by processes in a
different mount namespace. This is due to the device ID shown in the
process' file descriptor table being from the process namespace, not
fuser's; meaning it won't match.
ДЕФЕКТЫ
fuser -m /dev/sgX
покажет
(или
завершит,
если
указан -k)
все
процессы,
даже если у
вас нет
этого
настроенного
устройства.
Также, для
этого
могут быть
другие
устройства.
При
параметре
монтирования
-m найдутся
все файлы
на том же
устройстве,
что и
указанный
файл,
дополнительно
укажите
параметр -M,
если вы
подразумевали
только
точку
монтирования.