gpt4 book ai didi

linux - 无法使用 rm 删除文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:01 24 4
gpt4 key购买 nike

我正在使用 BusyBox v1.1.2 (2008.07.18-08:25+0000)。我想创建新文件,我使用
触摸模型信息
但回应是
触摸:ModelInfo:设备上没有剩余空间
所以,我检查可用空间:

/web/en $ df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 14.0M 13.8M 236.0k 98% /
none 256.0k 68.0k 188.0k 27% /syslog
none 1.0M 0 1.0M 0% /tmp
nome 7.0M 6.3M 728.0k 90% /onvif
none 1.0M 0 1.0M 0% /mempic
none 6.0M 0 6.0M 0% /memrec

正如我在 Google 中看到的那样,inode 存在问题。好的,我跑

for i in/*;做 echo $i;找到 $i | wc -l;完成

接下来是输出:

/arm
14
/bin
81
/boot
1
/capture
2
/dev
310
/disk
9
/etc
57
/hisi-pci
13
/hisi-pci-wifi
12
/home
1
/komod
72
/lib
52
/lib64
1
/linuxrc
1
/lost+found
1
/mempic
5
/memrec
5
/mm.sh
1
/mnt
1
/nfsroot
1
/onvif
2
/opt
1
/param
10
/proc
find: /proc/598/task/598/fd/56: No such file or directory
16957
/root
2
/sbin
56
/share
1
/sys
1350
/syslog
6
/tmp
1
/usr
171
/var
17
/web
522

因此,在 proc 目录中,我可以看到很多目录 42、443、454、548 等 - 只有数字。如果我转到这个目录中的任何一个,我可以在那里看到相同的内容:

/proc/580 $ ls -l
-r-------- 1 root root 0 Jul 14 17:51 auxv
-r--r--r-- 1 root root 0 Jul 14 17:48 cmdline
lrwxrwxrwx 1 root root 0 Jul 14 17:51 cwd -> /usr
-r-------- 1 root root 0 Jul 14 17:51 environ
lrwxrwxrwx 1 root root 0 Jul 14 17:51 exe -> /usr/hh580
dr-x------ 2 root root 0 Jul 14 17:51 fd
-r--r--r-- 1 root root 0 Jul 14 17:51 maps
-rw------- 1 root root 0 Jul 14 17:51 mem
-r--r--r-- 1 root root 0 Jul 14 17:51 mounts
-rw-r--r-- 1 root root 0 Jul 14 17:51 oom_adj
-r--r--r-- 1 root root 0 Jul 14 17:51 oom_score
lrwxrwxrwx 1 root root 0 Jul 14 17:51 root -> /
-r--r--r-- 1 root root 0 Jul 14 17:51 smaps
-r--r--r-- 1 root root 0 Jul 14 17:48 stat
-r--r--r-- 1 root root 0 Jul 14 17:51 statm
-r--r--r-- 1 root root 0 Jul 14 17:51 status
dr-xr-xr-x 3 root root 0 Jul 14 17:51 task
-r--r--r-- 1 root root 0 Jul 14 17:51 wchan

例如,“task”目录下有一个内容:

/proc/580/task $ ls
580
/proc/580/task $ cd 580
/proc/580/task/580 $ ls
auxv environ maps oom_adj smaps status
cmdline exe mem oom_score stat wchan
cwd fd mounts root statm
/proc/580/task/580 $ ls -l
-r-------- 1 root root 0 Jul 14 17:51 auxv
-r--r--r-- 1 root root 0 Jul 14 17:51 cmdline
lrwxrwxrwx 1 root root 0 Jul 14 17:51 cwd -> /usr
-r-------- 1 root root 0 Jul 14 17:51 environ
lrwxrwxrwx 1 root root 0 Jul 14 17:51 exe -> /usr/hh5800
dr-x------ 2 root root 0 Jul 14 17:51 fd
-r--r--r-- 1 root root 0 Jul 14 17:51 maps
-rw------- 1 root root 0 Jul 14 17:51 mem
-r--r--r-- 1 root root 0 Jul 14 17:51 mounts
-rw-r--r-- 1 root root 0 Jul 14 17:51 oom_adj
-r--r--r-- 1 root root 0 Jul 14 17:51 oom_score
lrwxrwxrwx 1 root root 0 Jul 14 17:51 root -> /
-r--r--r-- 1 root root 0 Jul 14 17:51 smaps
-r--r--r-- 1 root root 0 Jul 14 17:51 stat
-r--r--r-- 1 root root 0 Jul 14 17:51 statm
-r--r--r-- 1 root root 0 Jul 14 17:51 status
-r--r--r-- 1 root root 0 Jul 14 17:51 wchan

是否可以删除任何这些文件(或链接)让系统创建新文件?我真的不知道 Linux,我只想创建文件...

最佳答案

某些软件可以在关闭文件之前删除打开的文件,对已删除文件的打开处理程序可防止回收磁盘空间。如果是这种情况,重新启动将释放空间。旧版本的 MySQL 曾经携带这样的错误,在 /tmp 下留下数百个不死文件。

使用 lsof(列出打开的文件)命令查看这些文件。

[更新]

'lsof' is unknown command for this shell - it is BusyBox v1.1.2. – Dmitriy Novichkov

首先确认重启后空间是否被释放,如果没有那么你的问题不是删除打开的文件。如果重新启动解决了问题,请寻找 lsof 的 native 二进制文件或为您的平台编译它(您从未暗示过)以便使用打开的处理程序找到已删除的文件,也许您将能够找到导致泄漏的进程.

如果您正在运行一些打开和删除文件的自制进程,请仔细检查您是否在删除前关闭文件。

关于linux - 无法使用 rm 删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17641890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com