首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不重新启动系统的情况下清除rm -rf在基于BusyBox的系统上删除的数据?

问如何在不重新启动系统的情况下清除rm -rf在基于BusyBox的系统上删除的数据?
EN

Stack Overflow用户
提问于 2019-11-22 02:30:27
回答 1查看 147关注 0票数 1

我正在尝试创建一个shell脚本,以便为一个基于busybox的Unix系统轻松地执行一些长命令。

系统没有像lsof这样的命令,但是有其他基本命令。我面临的问题是,当添加新功能时,我需要删除某些文件夹,并使用adb push将新文件夹推入系统。

当我这样做时,我会收到一个错误,说明设备上已经没有空间了。所以我需要做一个能量循环。

我想知道在执行rm -rf之后是否有任何方法可以删除数据,而不必执行电源周期,即关机和重新启动。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-22 06:34:42

在基于Linux的系统中,文件占用的空间将在

  1. 文件不被任何文件夹
  2. 引用,文件不会被任何进程

打开

“rm”将满足第一个条件,但是,您必须杀死所有打开文件以清除空间的进程,否则,只有在重新启动(电源周期)时,fsck实用程序才会识别“孤儿”i-节点,而不是由任何文件夹引用。

没有关于哪些进程持有打开的句柄的信息。以下是几种通用的替代方案:

如果有一个(或几个)进程保持大文件处于打开状态,请尝试停止/重新启动“rm”的services.

  • Instead,您可以在打开它们之前截断较大的文件。‘'echo >大文件’将释放所有的文件空间.当然,这可能会对正在运行的进程产生负面影响,但从问题上看,这似乎不是一个问题。从理论上讲,

  • 可以使用“telinit”将busybox从标准模式切换到不同的运行级别。如果将服务配置为适当的关机,则可以使系统重新启动,而不需要电源周期

。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58986618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档