名 前
remove − フ ァ イ ル や デ ィ レ ク ト リ を 削 除 す る
書 式
#include <stdio.h>
int remove(const char *pathname);
説 明
remove() は フ ァ イ ル シ ス テ ム か ら フ ァ イ ル 名 を 削 除 す る 。 フ ァ イ ル に 対 し て は unlink(2) を 、 デ ィ レ ク ト リ に 対 し て は rmdir(2) を 呼 び 出 す 。 も し そ の 名 前 が フ ァ イ ル へ の 最 後 の リ ン ク で 、 か つ 、 ど の プ ロ セ ス も そ の フ ァ イ ル を 開 い て い な い な ら 、 フ ァ イ ル も 削 除 す る 。 フ ァ イ ル の 占 め て い た 領 域 は 他 で 使 う こ と が で き る よ う に な る 。 名 前 が フ ァ イ ル へ の 最 後 の リ ン ク で あ っ て も 、 ど こ か の プ ロ セ ス が そ の フ ァ イ ル を 開 い て い る な ら 、 フ ァ イ ル の 最 後 の フ ァ イ ル デ ィ ス ク リ プ タ ー (file descriptor) が 閉 じ ら れ る ま で フ ァ イ ル は 存 在 し 続 け る 。 名 前 が 指 し て い る の が シ ン ボ リ ッ ク リ ン ク な ら 、 そ の リ ン ク を 削 除 す る 。 名 前 が 指 し て い る の が ソ ケ ッ ト 、 FIFO、 デ バ イ ス の 場 合 、 名 前 は 削 除 さ れ る が 、 そ の ソ ケ ッ ト な ど を 開 い て い る プ ロ セ ス は そ の ま ま 使 い 続 け る こ と が で き る 。
返 り 値
成 功 し た 場 合 は 0 が 返 さ れ る 。 エ ラ ー の 場 合 は −1 が 返 さ れ 、 errno が 適 切 に 設 定 さ れ る 。
エ ラ ー
発 生 す る エ ラ ー は unlink(2) お よ び rmdir(2) と 同 じ も の で あ る 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 remove() は ス レ ッ ド セ ー フ で あ る 。
準 拠
C89, C99, 4.3BSD, POSIX.1−2001.
バ グ
NFS プ ロ ト コ ル に 内 在 す る 問 題 に よ り 、 ま だ 使 用 中 の フ ァ イ ル が 想 定 外 に 消 え て し ま う こ と が あ り え る 。
関 連 項 目
rm(1), unlink(1), link(2), mknod(2), open(2), rename(2), rmdir(2), unlink(2), mkfifo(3), symlink(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。