Node.JS Child Process exec奇怪的行为

时间:2014-09-13 13:11:41

标签: node.js child-process

当我在终端执行命令时,它会持续约5秒,但是当我使用require('child_process').exec并超时1分钟时,它会在1分钟后返回[Error: Command failed: ] killed: true, code: null, signal: 'SIGTERM'

P.S。该命令生成一些文件,在这两种情况下输出都可以。

更新:此类行为的示例:

var exec = require('child_process').exec
exec('docker run --rm -i ubuntu sleep 1',
  {timeout:15000},
  function(){
    console.log(arguments)
  }
)

1 个答案:

答案 0 :(得分:1)

如果删除-i标记,它将正常工作。

Docker中的-i“交互”标志导致STDIN被打开,默认情况下exec不会喜欢它。