Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all bug

名前

       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.

注意

       libc4 と libc5 においては、 remove()  は unlink(2)  の別名であった (従ってディレクトリを削
       除できなかった)。

バグ

       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.65 の一部 である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。