fuser(1) [freebsd man page]
FUSER(1) BSD General Commands Manual FUSER(1) NAME
fuser -- list IDs of all processes that have one or more files open SYNOPSIS
fuser [-cfkmu] [-M core] [-N system] [-s signal] file ... DESCRIPTION
The fuser utility writes to stdout the PIDs of processes that have one or more named files open. For block and character special devices, all processes using files on that device are listed. A file is considered open by a process if it was explicitly opened, is the working directory, root directory, jail root directory, active executable text, kernel trace file or the controlling terminal of the process. If -m option is specified, the fuser utility will also look through mmapped files. The following options are available: -c Treat files as mount point and report on any files open in the file system. -f The report must be only for named files. -k Send signal to reported processes (SIGKILL by default). -m Search through mmapped files too. -u Write the user name associated with each process to stderr. -M Extract values associated with the name list from the specified core instead of the default /dev/kmem. -N Extract the name list from the specified system instead of the default, which is the kernel image the system has booted from. -s Use given signal name instead of default SIGKILL. The following symbols, written to stderr will indicate how files is used: r The file is the root directory of the process. c The file is the current workdir directory of the process. j The file is the jail-root of the process. t The file is the kernel tracing file for the process. x The file is executable text of the process. y The process use this file as its controlling tty. m The file is mmapped. w The file is open for writing. a The file is open as append only (O_APPEND was specified). d The process bypasses fs cache while writing to this file (O_DIRECT was specified). s Shared lock is hold. e Exclusive lock is hold. EXIT STATUS
The fuser utility returns 0 on successful completion and >0 otherwise. EXAMPLES
The command: ``fuser -fu .'' writes to standard output the process IDs of processes that are using the current directory and writes to stderr an indication of how those processes are using the directory and user names associated with the processes that are using this directory. SEE ALSO
fstat(1), ps(1), systat(1), iostat(8), pstat(8), vmstat(8) STANDARDS
The fuser utility is expected to conform to IEEE Std 1003.1-2004 (``POSIX.1''). HISTORY
The fuser utility appeared in FreeBSD 9.0. AUTHORS
The fuser utility and this manual page was written by Stanislav Sedov <stas@FreeBSD.org>. BUGS
Since fuser takes a snapshot of the system, it is only correct for a very short period of time. When working via kvm(3) interface the report will be limited to filesystems the fuser utility knows about (currently only cd9660, devfs, nfs, ntfs, nwfs, udf, ufs and zfs). BSD
May 13, 2011 BSD
Check Out this Related Man Page
fuser(1M) System Administration Commands fuser(1M) NAME
fuser - identify users of files and devices SYNOPSIS
/usr/sbin/fuser [-c | -d | -f] [-nu] [-k | -s sig] files [ [- ] [-c | -d | -f] [-nu] [-k | -s sig] files] ... DESCRIPTION
The fuser utility displays the process IDs of the processes that are using the files specified as arguments. Each process ID is followed by a letter code. These letter codes are interpreted as follows. If the process is using the file as c Indicates that the process is using the file as its current directory. m Indicates that the process is using a file mapped with mmap(2). See mmap(2) for details. n Indicates that the process is holding a non-blocking mandatory lock on the file. o Indicates that the process is using the file as an open file. r Indicates that the process is using the file as its root directory. t Indicates that the process is using the file as its text file. y Indicates that the process is using the file as its controlling terminal. For block special devices with mounted file systems, all processes using any file on that device are listed. For all types of files (text files, executables, directories, devices, and so forth), only the processes using that file are reported. For all types of devices, fuser also displays any known kernel consumers that have the device open. Kernel consumers are displayed in one of the following formats: [module_name] [module_name,dev_path=path] [module_name,dev=(major,minor)] [module_name,dev=(major,minor),dev_path=path] If more than one group of files are specified, the options may be respecified for each additional group of files. A lone dash cancels the options currently in force. The process IDs are printed as a single line on the standard output, separated by spaces and terminated with a single new line. All other output is written on standard error. Any user can run fuser, but only the superuser can terminate another user's process. OPTIONS
The following options are supported: -c Reports on files that are mount points for file systems, and any files within that mounted file system. -d Report device usage information for all minor nodes bound to the same device node as the specified minor node. This option does not report file usage for files within a mounted file system. -f Prints a report for the named file, not for files within a mounted file system. -k Sends the SIGKILL signal to each process. Since this option spawns kills for each process, the kill messages may not show up imme- diately (see kill(2)). No signals will be sent to kernel file consumers. -n Lists only processes with non-blocking mandatory locks on a file. -s sig Sends a signal to each process. The sig option argument specifies one of the symbolic names defined in the <signal.h> header, or a decimal integer signal number. If sig is a symbolic name, it is recognized in a case-independent fashion, without the SIG prefix. The -k option is equivalent to -s KILL or -s 9. No signals will be sent to kernel file consumers. -u Displays the user login name in parentheses following the process ID. EXAMPLES
Example 1: Reporting on the Mount Point and Files The following example reports on the mount point and files within the mounted file system. example% fuser -c /export/foo Example 2: Restricting Output when Reporting on the Mount Point and Files The following example reports on the mount point and files within the mounted file system, but the output is restricted to processes that hold non-blocking mandatory locks. example% fuser -cn /export/foo Example 3: Sending SIGTERM to Processes Holding a Non-blocking Mandatory Lock The following command sends SIGTERM to any processes that hold a non-blocking mandatory lock on file /export/foo/my_file. example% fuser -fn -s term /export/foo/my_file ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of fuser: LANG, LC_ALL LC_CTYPE, LC_MES- SAGES, and NLSPATH. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
ps(1), mount(1M), kill(2), mmap(2), signal(3C), attributes(5), environ(5), standards(5) NOTES
Because fuser works with a snapshot of the system image, it may miss processes that begin using a file while fuser is running. Also, pro- cesses reported as using a file may have stopped using it while fuser was running. These factors should discourage the use of the -k option. SunOS 5.10 21 Oct 2003 fuser(1M)