Debian

如何在不損壞我的數據的情況下終止/終止正在執行的 e4defrag?

  • September 25, 2021

如果我殺死了 running e4defrag,是否存在數據失去/損壞的風險?有沒有安全的方法來中斷它?

例如:e4defrag在大分區(如根目錄)或大文件(如 squashfs 系統映像文件)上執行非常慢,所以有時e4defrag需要在完成之前停止/殺死,但我不確定是否殺死它(通過發送SIGINT, SIGTERM,SIGKILL等)e4defrag是安全的嗎?

我正在執行 Debian Stretch,文件系統是 ext4。

我的核心版本:4.14.13

我的e2fsprogs 版本:1.43.4-2

我沒有檢查程式碼本身,但由於 e4defrag 一次只處理一個文件,它絕對不會破壞整個文件系統。

無論如何,實際的數據移動​​是在日誌事務的上下文中在核心中完成的,因此它應該不受您在使用者空間中所做的任何事情的影響。如果您在中間重新啟動,它甚至應該不會引起問題。

由於e4defrag在已掛載的文件系統上工作,使用標准文件系統呼叫, kill它將與任何寫入文件的程序具有相同的危險kill……這取決於kill發送到的信號e4defrag

  • SIGINT應該沒問題
  • SIGTERM應該沒問題
  • SIGKILL似乎有潛在危險,可能會損壞文件——也許是一個重要文件。因此避免將SIGKILLe4defrag.

引用自:https://unix.stackexchange.com/questions/472120