oracular (1) fuser.1.gz

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).