Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fuser(2) [osf1 man page]

fuser(2)							System Calls Manual							  fuser(2)

NAME
fuser - Reports PIDs and UIDs for files, file systems and/or the devices attached to them. SYNOPSIS
#include <sys/fuser.h> int fuser( char *file, long flag, struct f_user fuser_array[], long sizeof_fuser_array ); PARAMETERS
Specifies the file name. Specifies one of the following values. If none of the following are values are specified, the default is to match open files. Matches only file ids. Provides mount point matching. Matches deleted files on the mount point specified by file. Specifies the array. Specifies the number of elements in the fuser array. DESCRIPTION
The fuser function reports a list of PIDs and UIDs that are associated with a specified file, file system, and/or the devices that are attached to them. The fuser function can report back additional information about "matches" by ORing one of the following constants that can be passed back in the member fu_flags: Current directory Current directory Parent of the current directory At least one file open, but the number open is not known. Executable image. Controlling terminal Trace At least one file is mmapped RETURN VALUES
On success, the fuser function returns the number of fuser_array elements that were found. The contents of the structure are as follows: typedef struct f_user { pid_t fu_pid; int fu_flags; uid_t fu_uid; } f_user_t; If an error has occurred, the fuser function returns -1 and sets errno to indicate the error. ERRORS
If the fuser function fails, errno may be set to one of the following values: The array is not large enough to hold the number of array elements returned or the array structure cannot be filled The file parameter specified does not exist EXAMPLES
Open regular files and special files are matched using the flag parameter set at 0L. Thus, if process 127 and 3220 open the /home/try file simultaneously and the fuser function is active, the PIDs and UIDs associated with the home/try file are reported as in the following exam- ple: fuser("/home/try", 0L, fuser_array, (long) (sizeof (fuser_array)/sizeof(fuser_array[0])); Similarly, if the special device file /dev/ttyp2 is open by process 32, then that PID and its associated UID are reported as in the following example: fuser("/dev/ttyp2", 0L, fuser_array, (long) (sizeof (fuser_array)/sizeof(fuser_array[0])); fuser(2)

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 immediately (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 pre- fix. 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.11 21 Oct 2003 fuser(1M)
Man Page