例如緣故,我跑在節點用下面的代碼(名爲server.js)最基本的網絡服務器(我使用Windows):的NodeJS顯示運行子進程的輸出(窗口)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
我想運行這是一個子進程,並正在與以下成功地這樣做:
var exec = require('child_process').exec;
var serv = exec('node server.js', function(error, stdout, stderr){
console.log('outputs & errors:' + error, stdout, stderr);
});
不過,我什麼也得不到當我運行第二個文件。沒有「輸出&錯誤」,否「服務器正在......運行」。如果我在瀏覽器中輸入localhost:1337,我會得到「hello world」,所以我知道它正在運行。有沒有辦法管這個「服務器正在運行...」,所以我可以「確定」它正在監聽?
太棒了。我曾看過產卵,但忽視了看Fork,這看起來正是我需要的。 – AberZombie 2013-03-06 21:30:09
在流式傳輸子標準輸出時可以使着色工作嗎?例如,我正在執行另一個gulp命令,通常它有一個很好的顏色輸出,但是當兩個管道連接時,孩子輸出的輸出全部顯示爲白色字符,以消除着色。 – Corneliu 2015-11-20 23:49:44
我找到了答案: http://stackoverflow.com/questions/7725809/preserve-color-when-executing-child-process-spawn – Corneliu 2015-11-20 23:52:20