HPUX unlink[2]



unlink in anderen Kapiteln des hpux Handbuch: unlink.3f unlink.1m




 unlink(2)                                                         unlink(2)





 NAME
      unlink - remove directory entry; delete file

 SYNOPSIS
      #include <unistd.h>

      int unlink(const char *path);

 DESCRIPTION
      unlink() removes the directory entry named by the path name pointed to
      by path.

      When all links to a file have been removed and no process has the file
      open, the space occupied by the file is freed and the file ceases to
      exist.  If one or more processes have the file open when the last link
      is removed, only the directory entry is removed immediately so that
      processes that do not already have the file open cannot access the
      file.  After all processes close their references to the file, if
      there are no more links to the file, the space occupied by the file is
      then freed and the file ceases to exist.

 RETURN VALUE
      Upon successful completion, a value of 0 is returned.  Otherwise, a
      value of -1 is returned and errno is set to indicate the error.

 ERRORS
      The named file is unlinked unless one or more of the following are
      true:

      [EACCES]       Search permission is denied for a component of the path
                     prefix.

      [EACCES]       Write permission is denied on the directory containing
                     the link to be removed.

      [ENOTDIR]      A component of the path prefix is not a directory.

      [ENOENT]       The named file does not exist (for example, path is
                     null or a component of path does not exist).

      [EPERM]        The named file is a directory and the effective user ID
                     of the process is not a user with appropriate
                     privileges.

      [EBUSY]        The entry to be unlinked is the mount point for a
                     mounted file system.

      [ETXTBSY]      The entry to be unlinked is the last link to a pure
                     procedure (shared text) file that is being executed.





 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 unlink(2)                                                         unlink(2)





      [EROFS]        The directory entry to be unlinked is part of a read-
                     only file system.

      [EFAULT]       path points outside the process's allocated address
                     space.  The reliable detection of this error is
                     implementation dependent.

      [ENAMETOOLONG] The length of the specified path name exceeds PATH_MAX
                     bytes, or the length of a component of the path name
                     exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in
                     effect.

      [ELOOP]        Too many symbolic links were encountered in translating
                     the path name.

 WARNINGS
      If unlink() is used on a directory that is not empty (contains files
      other than . and ..), the directory is unlinked, the files become
      orphans, and the directory link count is left with an inaccurate value
      unless they are linked by some other directory.

      If unlink() is used on a directory that is empty (contains only the
      files . and ..), the directory is unlinked, but the parent directory's
      link count is left with an inaccurate value.

      In either of the above cases, the file system should be checked using
      fsck (see fsck(1M)).  To avoid these types of problems, use rmdir()
      instead (see rmdir(2)).

 SEE ALSO
      rm(1), close(2), link(2), open(2), rmdir(2), privilege(5).

 STANDARDS CONFORMANCE
      unlink(): AES, SVID2, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1




















 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992