如何在不损坏我的数据的情况下终止/终止运行 e4defrag?

ill*_*ate 5 debian ext4 linux-kernel e4defrag

如果我杀死一个 running e4defrag,是否有数据丢失/损坏的风险?有没有安全的方法来中断它?

例如:e4defrag在大分区(如根目录)或大文件(如squashfs系统映像文件)上运行非常慢,所以有时e4defrag需要在完成之前停止/杀死,但我不确定是否杀死它(通过发送任SIGINTSIGTERMSIGKILL,等它)e4defrag是安全的?

我正在运行 Debian Stretch,文件系统是 ext4。
我的内核版本:4.14.13
我的e2fsprogs 版本:1.43.4-2

agc*_*agc 5

由于e4defrag在挂载的文件系统上工作,使用标准文件系统调用, kill它与kill写入文件的任何程序具有相同的危险......这取决于哪个信号kill发送到e4defrag.

  • SIGINT应该没问题

  • SIGTERM应该没问题

  • SIGKILL似乎具有潜在危险,并且可能会损坏文件——可能是一个重要的文件。因此避免将SIGKILLe4defrag.


Lus*_*One 5

我还没有检查代码本身,但由于 e4defrag 一次只能处理一个文件,它绝对不能破坏整个文件系统。

在任何情况下,实际的数据移动都是在日志事务的上下文中在内核中完成的,因此它应该不受您在用户空间中所做的任何事情的影响。如果您在中间重新启动,它甚至不应该导致问题。