Shell 如何清除rm-rf在基于BusyBox的系统上删除的数据,而无需重新启动系统?
我正在尝试创建一个shell脚本,以便为基于busybox的Unix系统轻松执行一些长命令 系统没有类似于Shell 如何清除rm-rf在基于BusyBox的系统上删除的数据,而无需重新启动系统?,shell,unix,memory-management,busybox,rm,Shell,Unix,Memory Management,Busybox,Rm,我正在尝试创建一个shell脚本,以便为基于busybox的Unix系统轻松执行一些长命令 系统没有类似于lsof的命令,但有其他基本命令。我面临的问题是,当添加新功能时,我需要删除某些文件夹,并使用adb push将新文件夹推送到系统中 当我这样做的时候,我得到一个错误,说设备上没有空间了。所以我需要做一个能量循环 我想知道在执行rm-rf之后是否有任何方法可以删除数据,而不必执行电源循环,即关闭并重新启动。在基于Linux的系统上,文件占用的空间在 该文件未被任何文件夹引用 任何进程都不会打
lsof
的命令,但有其他基本命令。我面临的问题是,当添加新功能时,我需要删除某些文件夹,并使用adb push
将新文件夹推送到系统中
当我这样做的时候,我得到一个错误,说设备上没有空间了。所以我需要做一个能量循环
我想知道在执行
rm-rf
之后是否有任何方法可以删除数据,而不必执行电源循环,即关闭并重新启动。在基于Linux的系统上,文件占用的空间在
- 如果有一个(或几个)进程保持大文件打开,请尝试停止/重新启动这些服务
- 您可以在打开较大的文件之前截断它们,而不是“rm”echo>large file'将释放所有文件空间。当然,这可能会对正在运行的流程产生负面影响,但从问题来看,这似乎不是一个问题
- 理论上,可以使用“telinit”将busybox从标准模式切换到不同的运行级别。如果将服务配置为正确关闭,则可以使系统重新启动后恢复,而无需重新通电
- 如果有一个(或几个)进程保持大文件打开,请尝试停止/重新启动这些服务
- 您可以在打开较大的文件之前截断它们,而不是“rm”echo>large file'将释放所有文件空间。当然,这可能会对正在运行的流程产生负面影响,但从问题来看,这似乎不是一个问题
- 理论上,可以使用“telinit”将busybox从标准模式切换到不同的运行级别。如果将服务配置为正确关闭,则可以使系统重新启动后恢复,而无需重新通电