2014-09-13 48 views
0

当我在终端执行一个命令它会持续~5秒,但是当我使用require('child_process').exec与1分钟的超时它会在1分钟后返回[Error: Command failed: ] killed: true, code: null, signal: 'SIGTERM'Node.JS Child Process exec奇怪的行为

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

更新:例如,这样的行为:

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

您可以共享节点执行代码吗? – 2014-09-13 13:22:58

+0

https://gist.github.com/anonymous/d7e533cb188944376b09 这是关于docker.io – 2014-09-13 13:32:14

回答

1

如果删除-i标志,它会正常工作。

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