UNLINK(2) — UNIX Programmer’s Manual
名称
unlink − ディレクトリエントリを削除する
形式
unlink(path)
char ∗path;
解説
unlink は、 ディレクトリからファイル path のエントリを 削除します。 このエントリがそのファイルへの最後のリンクであって、 どのプロセスもそのファイルを オープンにしてない場合には、 そのファイルに関係するリソースはすべて解放されます。 しかし、 そのファイルが、 プロセスでオープンになっている場合には、 そのディレクトリエントリは削除されても、 そのファイルがクローズされるまで実際のリソースの解放は延期されます。
リターン値
正常終了した場合には、 値 0 が返されます。 そうでない場合には、 値 −1 が返され、 errno がエラーを 示すようにセットされます。
エラー
次の場合でない限り、 unlink は成功します。
[ENOTDIR] パスプレフィックスの構成要素がディレクトリではないものがある。
[EINVAL] パス名に最上位ビットのセットされたキャラクタが含まれている。 (NEWS-OSではおこらない。)
[ENAMETOOLONG]
パス名の 1構成要素が 255 バイトを 超えている、 またはパス名全体が 1023 バイトを 超えている。
[ENOENT] 指定されたファイルが存在していない。
[EACCES] パスプレフィックスの構成要素についてサーチパーミッションが 否定されているものがある。
[EACCES] 削除するリンクが収められているディレクトリについて書き込み パーミッションが否定されている。
[ELOOP] パス名の処理で遭遇したシンボリックリンクの数が多すぎる。
[EPERM] 指定されたファイルがディレクトリであり、 かつ、 そのプロセスの有効ユーザIDがスーパーユーザではない。
[EPERM] そのファイルが収められているディレクトリが sticky としてマークされていて、 その収容しているディレクトリも、 削除するファイルも、 その有効ユーザIDによって所有されていない。
[EBUSY] リンク解除するエントリが、 マウントされているファイルシステムのマウントポイントになっている。
[EIO] ディレクトリエントリの削除中またはiノードの割当て解除中に、 入出力エラーが発生した。
[EROFS] 指定されたファイルが読み取り専用のファイルシステム上にある。
[EFAULT] path が、 そのプロセスの割り当てアドレススペースの外を 指している。
関連事項
NEWS-OSRelease 3.3