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