【发布时间】:2012-01-27 19:00:24
【问题描述】:
我在 PBS 集群上使用 xz 压缩实用程序;我刚刚意识到我为压缩作业所允许的时间不够长,因此想重新启动它们(然后,大概我需要包含已经创建的 .xz在新的存档文件中?)。终止作业是否安全,或者这可能会损坏已创建的 .xz 文件?
【问题讨论】:
我在 PBS 集群上使用 xz 压缩实用程序;我刚刚意识到我为压缩作业所允许的时间不够长,因此想重新启动它们(然后,大概我需要包含已经创建的 .xz在新的存档文件中?)。终止作业是否安全,或者这可能会损坏已创建的 .xz 文件?
【问题讨论】:
我不确定在集群中使用xz 的含义,但总的来说,杀死xz 进程(或任何合适的压缩实用程序)只会影响进程终止时正在压缩的文件。更具体地说:
任何来自已压缩输入文件的输出文件都不应受到影响。生成的.xz 压缩文件应保持完全可用。
任何尚未处理的输入文件都不应被更改。
不应影响终止时正在压缩的输入文件。
如果进程使用SIGTERMsignal 终止,而不是像SIGKILL 那样无法捕获的信号,xz 应该在退出之前自行清理。更具体地说,它不应该留下任何部分输出文件。
如果xz 被暴力杀死,应该(相对于可能)发生的最坏情况是部分压缩文件保留在磁盘上,就在其相应的输入文件中。您可能希望确保正确清理此类文件 - 一个好方法是让 xz 在与实际存储区域不同的目录中工作,并将文件移入和移出以进行压缩。
也就是说,根据压缩数据的重要性,您可能仍需要结合措施来检测和处理任何损坏的文件。可能有很多病态的情况,事情并没有像他们应该的那样发生......
【讨论】: