Fuser
fuser — команда Unix, що показує процеси, які використовують даний файл або сокет.
Синтаксис команди
- fuser [-a|-s|-c] [-4|-6] [-n space] [-k [-i] [-signal] ] [-muvf] name .
- fuser -l
- fuser -V
fuser відображає ідентифікатори процесів (PID), які використовують в цей час вказані файли або файлові системи, задані аргументом name. За умовчанням, під час виведення інформації після імені кожного файлу слідує буква, що показує вид доступу:
- c
- поточний каталог.
- e
- запущений виконуваний файл.
- f
- відкритий файл. За умовчанням в режимі виведення інформації буква f може бути відсутньою.
- F
- файл відкритий для запису.
- r
- кореневий каталог.
- m
- файл є відображеним (mapped) або розподілюваною бібліотекою.
Команда fuser повертає ненульовий код повернення, якщо жоден з вказаних файлів не «захоплений» жодним процесом або у разі виникнення фатальної помилки. Якщо знайдений хоч би один процес, який використовує name, тоді команда fuser повертає нуль.
У разі проглядання процесів, які використовують сокети TCP і UDP, відповідна назва space повинна бути вказана з параметром -n. За умовчанням, команда fuser проглядатиме обидва сокети IPv6 і IPv4. Щоб змінити установки, що діють за умовчанням, необхідно використовувати параметри −4 і −6. Як сокет(и) може бути вказаний як локальний, так і віддалений порт або видалена адреса. Хоча всі поля є необов'язковими, проте перед пропущеними полями коми повинні бути присутніми: lcl_port, rmt_host, rmt_port.
Для IP-адрес і номерів портів може бути вказаний або номер порту, або його символьна назва.
На стандартний пристрій виведення fuser направляє тільки ідентифікатори процесів (PIDs), все інше прямує на стандартний пристрій виведення помилок.
Параметри
- -а
- Показує інформацію для всіх файлів, які вказані в командному рядку. За умовчанням, виводяться імена тільки тих файлів, які використовуються хоч би одним процесом.
- -c
- Подібно до параметра -m і застосовується для сумісності з POSIX.
- -f
- Ігнорується без попередження. Застосовується для сумісності з POSIX.
- -k
- Знищує (завершує) процеси, які використовують вказаний файл. Посиланий сигнал завершення SIGKILL можна замінити за допомогою параметра -signal. Процес fuser ніколи не знищить себе сам, проте може завершити роботу інших процесів fuser. Перед спробою знищити виконуваний процес команда fuser встановлює ефективний ідентифікатор користувача ID цього процесу в ідентифікатор власного користувача.
- -i
- Перед завершенням процесу зажадає підтвердження від користувача. Якщо не заданий параметр -k, цей параметр ігнорується без попередження.
- -l
- Виводить список всіх існуючих назв сигналів.
- -m
- Як name указується файл на змонтованій файловій системі або змонтований спеціальний блоковий пристрій. Виводиться список всіх процесів, які використовують файли на цій файловій системі. Якщо вказаний файл є каталогом, тоді до його імені автоматично додається name/. і розглядається будь-яка файлова система, яка може бути змонтована на цей каталог.
- -n space
- Вибирає різні множини імен. Підтримуються такі множини імен як file (за умовчанням це імена файлів), udp (локальні порти UDP) і tcp (локальні порти TCP). Для портів може бути вказаний або номер порту, або його символьна назва. Можна використовувати скорочений запис цифрами name/Ispace (наприклад, 80/tcp), якщо вона однозначно характеризує об'єкт.
- -s
- Виконує операції без виведення повідомлень. Параметри -u і -v ігноруються в цьому режимі. Параметр -a не повинен використовуватися з параметром -s.
- -signal
- Посилає процесу вказаний сигнал завершення роботи замість звичайного SIGKILL. Сигнали можуть бути задані за назвою (наприклад, -HUP) або за номером (наприклад −1). Цей параметр без попередження ігнорується, якщо не використовується параметр -k.
- -u
- Додає до кожного PID ім'я власника процесу.
- -v
- Режим докладного інформування. Процеси показуються в стилі виведення команди ps. Поля PID, USER і COMMAND подібні до виведення команди ps. Поле ACCESS показує процес, який використовує файл. Якщо об'єкт використовується ядром (наприклад, у разі точок монтування, swap файлу тощо), замість PID відображається рядок kernel.
- -V
- Виводить інформацію про версію програми.
- -4
- Виконується пошук тільки для сокета IPv4. Цей параметр не повинен використовуватися з параметром -6 і працює тільки з назвами space tcp і udp.
- -6
- Виконується пошук тільки для сокета IPv6. Цей параметр не повинен використовуватися з параметром -4 і працює тільки з назвами space tcp і udp.
- -
- Скидає всі параметри і встановлює сигнал знищення процесів в SIGKILL.
Приклади
- fuser -km /home — знищує всі процеси, що використовують якимось чином файлову систему /home.
- if fuser -s /dev/ttyS1; then :; else something; fi — викликає виконання something, якщо жоден інший процес не використовує /dev/ttyS1.
- fuser telnet/tcp — показує всі процеси (локальні) на порту TELNET.
Посилання
- fuser(1) [Архівовано 2 червня 2008 у Wayback Machine.] сторінка допомоги в GNU/Linux
- linux.die.net/man/1/fuser [Архівовано 16 грудня 2008 у Wayback Machine.]
Дивись також
- lsof
- п
- о
- р
- lp[en]