Debian
如何在不損壞我的數據的情況下終止/終止正在執行的 e4defrag?
如果我殺死了 running
e4defrag
,是否存在數據失去/損壞的風險?有沒有安全的方法來中斷它?例如:
e4defrag
在大分區(如根目錄)或大文件(如 squashfs 系統映像文件)上執行非常慢,所以有時e4defrag
需要在完成之前停止/殺死,但我不確定是否殺死它(通過發送SIGINT
,SIGTERM
,SIGKILL
等)e4defrag
是安全的嗎?我正在執行 Debian Stretch,文件系統是 ext4。
我的核心版本:
4.14.13
我沒有檢查程式碼本身,但由於 e4defrag 一次只處理一個文件,它絕對不會破壞整個文件系統。
無論如何,實際的數據移動是在日誌事務的上下文中在核心中完成的,因此它應該不受您在使用者空間中所做的任何事情的影響。如果您在中間重新啟動,它甚至應該不會引起問題。
由於
e4defrag
在已掛載的文件系統上工作,使用標准文件系統呼叫,kill
它將與任何寫入文件的程序具有相同的危險kill
……這取決於kill
發送到的信號e4defrag
。
- SIGINT應該沒問題
- SIGTERM應該沒問題
- SIGKILL似乎有潛在危險,可能會損壞文件——也許是一個重要文件。因此避免將SIGKILL與
e4defrag
.