Provided by: psmisc_23.7-1build1_amd64 bug

НАЗВА

       fuser — програма для ідентифікації процесів на основі файлів або сокетів

КОРОТКИЙ ОПИС

       fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n простір] [ -k [-i] [-M] [-w] [-СИГНАЛ] ] назва ...
       fuser -l
       fuser -V

ОПИС

       fuser  виводить  дані  щодо  PID процесів на основі вказаних файлів або файлових систем. У
       типовому режимі показу після кожної назви файла буде вказано літеру,  яка  вказуватиме  на
       тип доступу:

              c      поточний каталог.
              e      виконуваний файл, який запускається.
              f      відкрити файл. f буде пропущено у типовому режимі показу.
              F      відкрити файл для запису. F буде пропущено у типовому режимі показу.
              r      Кореневий каталог.
              m      пов'язаний mmap файл або бібліотека спільного використання.
              .      Замінник, буде пропущено у типовому режимі показу.

       fuser  повертає  ненульовий  код,  якщо  програмі не вдається отримати доступ до жодного з
       вказаних файлів або якщо трапиться критична помилка. Якщо вдасться отримати доступ хоча  б
       до одного з файлів, fuser повертає нуль.

       З  метою  пошуку  процесів  з  використанням  сокетів  TCP та UDP слід вибрати відповідний
       простір назв за допомогою параметра -n. Типово, fuser шукатиме серед сокетів IPv6 та IPv4.
       Щоб  змінити  типову поведінку, скористайтеся параметром -4 або -6. Сокети можна задати за
       локальним або віддаленим портом та віддалено адресою. Усі поля є необов'язковим, але  коми
       перед пропущеними полями слід ставити:

       [lcl_port][,[rmt_host][,[rmt_port]]]

       Для IP-адрес та номерів портів можна використовувати символічні або числові значення.

       fuser виводить до стандартного виведення лише PID, усі інші дані буде надіслано до stderr.

ПАРАМЕТРИ

       -a, --all
              Показати  усі файли, які вказано у рядку команди. Типово, буде показано лише файли,
              доступ до яких має принаймні один процес.

       -c     Те саме, що і параметр -m, використовується для сумісності з POSIX.

       -f     Буде проігноровано. Використовується для сумісності з POSIX.

       -k, --kill
              Завершити роботу процесів, які мають доступ до файла. Якщо не було внесено змін  до
              назви сигналу за допомогою параметра -СИГНАЛ, буде надіслано сигнал SIGKILL. Процес
              fuser не може завершити свою роботу,  але  може  завершити  роботу  іншого  процесу
              fuser.  Значення  реального ідентифікатора користувача процесу, у якому виконується
              fuser, буде  встановлено  відповідно  до  справжнього  ідентифікатор  до  того,  як
              програма спробує перервати роботу іншої програми.

       -i, --interactive
              Запитати  користувача  щодо  підтвердження  дії  до  завершення роботи процесу. Цей
              параметр буде проігноровано, якщо не вказано параметр -k.

       -I, --inode
              Для простору назв file використовувати порівняння на основі inode вказаних  файлів,
              а не назв файлів, навіть у мережевих файлових системах.

       -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  розташування файлової системи процесів

ПРИКЛАДИ

       fuser -km /home
              завершує  роботу  усіх  процесів,  які  у будь-який спосіб мають доступ до файлової
              системи /home.

       if fuser -s /dev/ttyS1; then :; else команда; fi
              викликає команду, якщо жоден інший процес не використовує /dev/ttyS1.

       fuser telnet/tcp
              виводить список усіх процесів на (локальному) порту TELNET.

ОБМЕЖЕННЯ

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

       Якщо  той  самий  об'єкт  у рядку команди вказано декілька разів, деякі із записів об'єкта
       може бути проігноровано.

       Якщо fuser запущено від імені звичайного користувача, програма зможе отримати доступ  лише
       до  частини  даних.  Наслідком  цього  є  те,  що  файли,  які  відкрито  процесами  інших
       користувачів, можуть не потрапити до списку, а виконувані файли може бути класифіковано як
       такі, що лише пов'язані із файлом.

       fuser  не  зможе  включити  до  звіту  дані  жодного  з  тих  процесів,  доступ до таблиці
       дескрипторів файлів яких обмежено правами доступу. Найчастіше  подібна  проблема  виникає,
       якщо  виконується  обробка  сокетів  TCP  або  UDP від імені користувача, який не має прав
       доступу адміністратора (root). У таких випадках fuser повідомить про те, що не має доступу
       до потрібних програмі даних.

       Встановлення  для  fuser  SUID  root  може запобігти проблемам із доступом до даних, але є
       небажаним із міркувань безпеки та конфіденційності.

       Пошук для просторів назв udp та tcp, а також сокетів доменів  UNIX  не  можна  виконувати,
       якщо ядро системи має версію, яка є старішою за 1.3.78.

       Доступи ядра буде показано, лише якщо використано параметр -v.

       Параметр   -k  працює  лише  для  процесів.  Якщо  користувачем  є  kernel,  fuser  виведе
       повідомлення-пораду, але не виконуватиме ніяких дій щодо завершення роботи процесу.

       fuser не бачитиме блокові пристрої,  які  змонтовано  процесами  у  інших  просторах  назв
       монтування. Причиною є те, що ідентифікатор пристрою, який показано у таблиці дескрипторів
       файлів процесу, належить до простору назв процесу, а не простору назв fuser; тобто він  не
       збігається з потрібним.

ВАДИ

       fuser  -m  /dev/sgX  покаже  (або  завершить  роботу,  якщо  було вказано параметр -k) усі
       процеси, навіть якщо пристрій не налаштовано. Можуть бути і інші пристрої, для  яких  така
       команда теж працюватиме.

       Якщо  буде  вказано  параметр  монтування  -m,  програма  працюватиме  із усіма файлами на
       пристрої, які  за  назвою  збігатимуться  зі  вказаним  файлом.  Скористайтеся  додатковим
       параметром -M, якщо вам потрібні дані лише для самої точки монтування.

       Для  fuser  не  буде  встановлено  відповідності  для  пов'язаних файлів, зокрема спільних
       бібліотек процесу, якщо вони зберігаються у файловій системі btrfs(5) через відмінність  у
       ідентифікаторах пристроїв між stat(2) і /proc/<PID>/maps.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

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