UNLINK(2) FreeBSD システムコールマニュアル UNLINK(2)
名称
unlink − ディレクトリエントリの削除 |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <unistd.h> int |
unlink(const char *path); |
解説 |
unlink() システムコールは、 path で指定されたリンクをディレクトリから削除 し、そのリンクで参照されていたファイルのリンク数を減らします。ファイルの リンク数が 0 になり、ファイルを開いているプロセスがなくなると、ファイルに 関連するすべてのリソースが再利用されます。最後のリンクが削除されたとき に、ファイルを開いているプロセスが 1 つ以上あると、リンクは削除されます が、ファイルの削除は、そのファイルへのすべての参照が閉じられるまで延期さ れます。 path 引数は、ディレクトリであってはなりません。 |
戻り値
関数 unlink() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。 |
エラー
unlink() は、以下の場合に処理を失敗します。 |
[ENOTDIR]
パスの構成要素中にディレクトリ以外のものが含まれていま す。 [ENAMETOOLONG] [ENOENT] [EACCES] [EACCES] [ELOOP] [EPERM] [EPERM] [EPERM] [EBUSY] [EIO] [EROFS] [EFAULT] 関連項目 |
歴史
unlink() 関数は、 Version 6 AT&T UNIX で登場しました。 従来の unlink() システムコールでは、スーパユーザがディレクトリを削除でき てしまい、これによってファイルシステムの完全性が破壊されることがありまし た。それを実行することは、すでに許可されなくなっています。 FreeBSD 10.0 February 23, 2005 FreeBSD 10.0 |