If this option is defined by the local system administrator when
lsof is built, the LSOFPERSDCPATH environment variable contents
may be used to add a component of the personal device cache file
path.
The LSOFPERSDCPATH variable contents are inserted in the path at
the place marked by the local system administrator with the
``%p'' conversion in the HASPERSDC format specification of the
dialect's machine.h header file. (It's placed right after the
home directory in the default lsof distribution.)
Thus, for example, if LSOFPERSDCPATH contains ``LSOF'', the home
directory is ``/Homes/abe'', the host name is
``lsof.itap.purdue.edu'', and the HASPERSDC format is the default
(``%h/%p.lsof_%L''), the modified personal device cache file path
is:
/Homes/abe/LSOF/.lsof_vic
The LSOFPERSDCPATH environment variable is ignored when the lsof
process is setuid-root or when the real UID of the process is
root.
Lsof will not write to a modified personal device cache file path
if the lsof process doesn't surrender setgid permission. (See
the LSOF PERMISSIONS THAT AFFECT DEVICE CACHE FILE ACCESS
section
for a list of implementations that normally don't surrender their
setgid permission.)
If, for example, you want to create a sub-directory of personal
device cache file paths by using the LSOFPERSDCPATH environment
variable to name it, and lsof doesn't surrender its setgid
permission, you will have to allow lsof to create device cache
files at the standard personal path and move them to your
subdirectory with shell commands.
The local system administrator may: disable this option when lsof
is built; change the name of the environment variable from
LSOFPERSDCPATH to something else; change the HASPERSDC format to
include the personal path component in another place; or exclude
the personal path component entirely. Consult the output of the
-D?
option for the environment variable's name and the HASPERSDC
format specification.