 |
Index for Section 2 |
|
 |
Alphabetical listing for F |
|
 |
Bottom of page |
|
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
file
Specifies the file name.
flag
Specifies one of the following values. If none of the following are
values are specified, the default is to match open files.
F_FILE_ONLY
Matches only file ids.
F_CONTAINED
Provides mount point matching.
F_NOLINK
Matches deleted files on the mount point specified by file.
fuser_array
Specifies the array.
sizeof_fuser_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:
F_CDIR
Current directory
F_RDIR
Current directory
F_PDIR
Parent of the current directory
F_OPEN
At least one file open, but the number open is not known.
F_TEXT
Executable image.
F_TTY
Controlling terminal
F_TRACE
Trace
F_MMAP
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:
[EINVAL]
The array is not large enough to hold the number of array elements
returned or the array structure cannot be filled
[ENOENT]
The file parameter specified does not exist
EXAMPLES
1. 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:
fuser("/home/try", 0L, fuser_array, \
(long) (sizeof (fuser_array)/sizeof(fuser_array[0]));
2. 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]));
 |
Index for Section 2 |
|
 |
Alphabetical listing for F |
|
 |
Top of page |
|