名 前
rmdir − デ ィ レ ク ト リ を 削 除 す る
書 式
#include <unistd.h>
int rmdir(const char *pathname);
説 明
rmdir() は デ ィ レ ク ト リ を 削 除 す る 。 削 除 す る デ ィ レ ク ト リ は 空 で な け れ ば な ら な い 。
返 り 値
成 功 し た 場 合 は 0 が 返 さ れ る 。 エ ラ ー の 場 合 は −1 が 返 さ れ 、 errno が 適 切 に 設 定 さ れ る 。
エ ラ ー
EACCES |
pathname を 含 ん で い る デ ィ レ ク ト リ へ の 書 き 込 み ア ク セ ス が プ ロ セ ス の 実 効 (effective) UID に 対 し て 許 可 さ れ て い な い か 、 pathname に 含 ま れ て い る デ ィ レ ク ト リ の ど れ か に 検 索 (実 行 ) 許 可 が な い か 、 pathname に 至 る ま で の デ ィ レ ク ト リ の い ず れ か に 対 す る 検 索 許 可 が な か っ た 。 (path_resolution(7) も 参 照 の こ と ) | ||
EBUSY |
pathname が シ ス テ ム や 別 の プ ロ セ ス に よ り 使 用 中 で 削 除 す る こ と が で き な い 。 Linux で は 、 pathname が マ ウ ン ト ポ イ ン ト と し て 使 用 さ れ て い る か 、 呼 び 出 し た プ ロ セ ス の ル ー ト デ ィ レ ク ト リ で あ る こ と を 意 味 す る 。 | ||
EFAULT |
pathname が ア ク セ ス 可 能 な ア ド レ ス 空 間 の 外 を 指 し て い る 。 | ||
EINVAL |
pathname の 最 後 の デ ィ レ ク ト リ 部 分 が . で あ る 。 | ||
ELOOP |
pathname を 解 決 す る 際 に 遭 遇 し た シ ン ボ リ ッ ク リ ン ク が 多 過 ぎ る 。 |
ENAMETOOLONG
pathname が 長 過 ぎ る 。
ENOENT |
pathname の 中 の デ ィ レ ク ト リ 部 分 が 存 在 し な い か 、 壊 れ た (dangling) シ ン ボ リ ッ ク リ ン ク (symbolic link) で あ る 。 | ||
ENOMEM |
十 分 な カ ー ネ ル メ モ リ ー が な い 。
ENOTDIR |
pathname か pathname に 含 ま れ て い る デ ィ レ ク ト リ 部 分 が 、 実 際 に は 、 デ ィ レ ク ト リ で な い 。
ENOTEMPTY デ ィ レ ク ト リ pathname に . と .. 以 外 の エ ン ト リ ー が あ る 。 ま た は 、 pathname を 構 成 す る 最 後 の 要 素 が .. で あ る 。 POSIX.1−2001 は 、 こ の 状 況 で EEXIST を 返 す こ と を 認 め て い る 。
EPERM |
pathname を 含 ん で い る デ ィ レ ク ト リ に ス テ ィ ッ キ ー ビ ッ ト (sticky−bit) (S_ISVTX) が 設 定 さ れ て い て 、 プ ロ セ ス の 実 効 ユ ー ザ ー ID が 削 除 し よ う と す る フ ァ イ ル の ユ ー ザ ー ID と そ の フ ァ イ ル を 含 む デ ィ レ ク ト リ の ユ ー ザ ー ID の ど ち ら と も 異 な り 、 プ ロ セ ス も 権 限 (Linux で は CAP_FOWNER ケ ー パ ビ リ テ ィ ) が な い 。 | ||
EPERM |
pathname を 含 ん で い る フ ァ イ ル シ ス テ ム が デ ィ レ ク ト リ の 削 除 を サ ポ ー ト し て い な い 。 | ||
EROFS |
pathname が 読 み 込 み 専 用 の フ ァ イ ル シ ス テ ム 上 の デ ィ レ ク ト リ を 参 照 し て い る 。 |
準 拠
SVr4, 4.3BSD, POSIX.1−2001.
バ グ
NFS プ ロ ト コ ル に 潜 在 し て い る 欠 陥 に よ っ て 、 ま だ 使 用 中 の デ ィ レ ク ト リ が 突 然 消 滅 す る 現 象 が 引 き 起 こ さ れ る こ と が あ る 。
関 連 項 目
rm(1), rmdir(1), chdir(2), chmod(2), mkdir(2), rename(2), unlink(2), unlinkat(2)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。