fuser
|
fuser в утилита, идентифицирующая процессы, которые используют указанные файлы или сокеты.
[править] Синтаксис команды
- fuser [-a|-s|-c] [-4|-6] [-n space] [-k [-i] [-signal] ] [-muvf] name в
- fuser -l
- fuser -V
fuser отображает идентификаторы процессов (PIDs), которые используют в данный момент указанные файлы или файловые системы, заданные аргументом name. По умолчанию, во время вывода информации после имени каждого файла следует буква, показывающая вид доступа:
- c
- текущий каталог.
- e
- запущенный исполняемый файл.
- f
- открытый файл. По умолчанию в режиме вывода информации буква f может отсутствовать.
- F
- файл открыт для записи.
- r
- корневой каталог.
- m
- файл является отображаемым или разделяемой (совместно используемой) библиотекой.
Команда fuser возвращает не нулевой код возврата, если никакой из указанных файлов не «захвачен» ни одним процессом или в случае возникновения фатальной ошибки. Если найден хотя бы один процесс, который использует name, тогда команда fuser возвращает ноль.
В случае просмотра процессов, которые используют сокеты TCP и UDP, соответствующее название space должно быть указано с параметром -n. По умолчанию, команда fuser будет просматривать оба сокета IPv6 и IPv4. Чтобы изменить установки, действующие по умолчанию, необходимо использовать параметры в4 и в6. В качестве сокета(ов) может быть указан как локальный, так и удалённый порт или удалённый адрес. Хотя все поля являются необязательными, однако перед пропущенными полями запятые должны присутствовать: lcl_port, rmt_host, rmt_port.
Для IP-адресов и номеров портов может быть указан либо номер порта, либо его символьное название.
На стандартное устройство вывода fuser направляет только идентификаторы процессов (PIDs), всё остальное направляется на стандартное устройство вывода ошибок.
[править] Параметры
- -a
- Показывает информацию для всех файлов, которые указаны в командной строке. По умолчанию, выводятся имена только тех файлов, которые используются хотя бы одним процессом.
- -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)в страница справки man по пользовательским командам GNU/Linux (англ.)- linux.die.net
| Стандартные программы UNIX (все программы) | |
|---|---|
| Файловые системы | chroot dd df fdisk fsck mkisofs mkswap mount umount rehash |
| Файлы и каталоги | cat chattr cd chmod chown chgrp cksum cmp cp diff du file fuser ln ls lsof mkdir mv od pwd rm rmdir split touch |
| Процессы | at cron exit kill killall nice nohup pgrep pidof pkill ps renice sleep time top wait watch |
| Пользователи | env finger id last logname mesg passwd su sudo uptime w wall who whoami write |
| Сеть | ftp host ifconfig netcat netstat nmap nslookup ping rlogin SSH traceroute wget |
| Тексты | AWK comm cut ed ex expand unexpand fmt head iconv join less more paste pr sed sort tac tail tr uniq wc xargs |
| Командная строка | alias basename bash bind dirname echo expr false printf test true unset |
| Поиск | find grep strings whereis which |
| Разное | banner bc cal date help lp man history size tee uname yes reboot |