Content-type: text/html
fuser - Reports PIDs and UIDs for files, file systems and/or the devices attached to them.
#include <sys/fuser.h>
int fuser(
char *file,
long flag,
struct f_user fuser_array[],
long sizeof_fuser_array
);
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.
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
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.
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
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 example: