当'exec'ing zip进程时,nodejs抛出ENOMEM

时间:2014-01-06 22:07:19

标签: node.js zip child-process

我正在尝试压缩nodejs中的目录。我知道还有其他方法来压缩文件,但我现在仍然坚持这个。

  var child = exec("zip -r " + zipFile + " " + zipDirectory, function (err, stdout, stderr) {
    if (err !== null) {
      console.log('error generating zip: ' + err);
    }

    // do some stuff with the created zip file
  });

我在具有少量内存的服务器上运行它,但由于我“在nodejs之外执行一个进程”,我绝不会指望nodejs抛出ENOMEM异常。

当我的服务器尝试并压缩一个小目录时,这是有效的,但是如果它试图压缩一个包含几个视频的目录,我就会得到例外。

我试图在服务器上的命令行上运行'zip'命令。它运作得很好。

我也尝试过spawn而不是exec同样的问题。

有趣的是,exec命令几乎立即失败,即它不像它开始创建zip文件然后耗尽内存。

为什么exec需要更多内存才能获得更大的拉链?

0 个答案:

没有答案