2014-09-13 62 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默認情況下不會喜歡它。