Provided by: psmisc_23.6-1_amd64 bug

ИМЯ

       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  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, если вы подразумевали только точку монтирования.

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

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