我通过SSH登录到远程计算机并使用以下方法压缩单个90GB XML文件:
bzip2 myfile.xml
我的连接超时,所以我不确定bzip2是否有效,但我最终得到了一个输出文件 myfile.xml.bz2 。
当bzip2命令无法完全执行时,是否保存输出文件?
答案 0 :(得分:1)
更合适的问题是它是否会自行清理。
BZip2以相对较小的块压缩数据,并在进入下一个块之前输出每个块。这个allows it to run在内存受限的系统上仍然处理实际数量的数据(它需要少于8MB的RAM才能处理你的90 GB XML)。
如果检查源文件bzip2.c
,您可以注意到它在函数void cleanUpAndFail(Int32 ec)
中进行了清理,假设输入文件仍然存在。当然,如果该程序在可能完成之前就已经被杀死,那么它就无法做到。
在您的情况下,如果myfile.xml
仍然存在,并且您没有明确告诉bzip2保留它(似乎您没有),那么bzip2
可能在完成之前被杀死。如果它消失了,那么很可能没有问题就完成了。您可以使用bzip2 -tv
对其进行完整性测试。