rm: cannot remove `/usr/local/tmp/‘: Directory not empty
生活随笔
收集整理的這篇文章主要介紹了
rm: cannot remove `/usr/local/tmp/‘: Directory not empty
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
###問題
刪除目錄時遇到錯誤提示:
rm: cannot remove `/usr/local/tmp/’: Directory not empty
即使用rm -rf ,還是會出現相同提示。
###原因
要刪除的目錄下有文件正在被使用。
###驗證
####情況1:
創建tmp目錄,并在其下創建文件test.txt
刪除目錄,非常順利
$ rm -rf tmp/####情況2:
接著看,如果有文件被占用的情況。
寫一段占用文件的代碼如下。
#include <stdio.h> #include <string.h> #include <unistd.h>int main() {int i = 0;char buffer[10] = {0};while(1){FILE *fp = fopen("tmp/test.txt", "w");if (fp == NULL){printf("open failed.\n");return -1;}memset(buffer,0,10);sprintf(buffer,"%d\n", i);fputs(buffer, fp);fflush(fp);fclose(fp);sleep(0.5);++i;}return 0; }編譯,執行
$ gcc test.c -o test $ ./test & [1] 16293該程序打開文件,寫入內容,關閉文件,一直循環,保持占用文件。
嘗試刪除目錄,此時得到錯誤提示
$ rm -rf tmp/ rm: cannot remove `tmp': Directory not empty由此證明,當目錄下有文件正在被使用時,如果要刪除目錄,會得到錯誤提示的問題。
總結
以上是生活随笔為你收集整理的rm: cannot remove `/usr/local/tmp/‘: Directory not empty的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修炼内功想走捷径
- 下一篇: python 爬虫 kugou音乐详细教