发布于 2015-08-18 00:28:59 | 581 次阅读 | 评论: 0 | 来源: PHPERZ
通过Child Process模块,我们能创建子进程,借助 stdin、 stdout、 stderr来实现进程间通信(很C++)。使用子进程能够做很多事情,如打印、发邮件、调用脚本或其他程序(不局限于javascript)。
要使用Child Process模块,我们需要在代码中添加 require("child_process")。
以下内容缺乏文档支持,并未经过充分测试,可能存在一定的理解偏差。这部分功能是极有用的,希望在项目中使用的时候注意测试。
Child Process模块本身应该也并完全开发完全。 spawn()、 execFile()可用, exec()和 fork()尚未实现。
var spawn = require("child_process").spawn;
child = spawn('node', ['main.js', 'helloworld']);
child.stdout.on("data", function (data) {
console.log("spawnSTDOUT:", JSON.stringify(data))
});
child.stderr.on("data", function (data) {
console.log("spawnSTDERR:", JSON.stringify(data))
});
child.on("exit", function (code) {
console.log("spawnEXIT:", code)
});
setTimeout(function () {
phantom.exit(0)
}, 2000);
var execFile = require("child_process").execFile;
child = execFile('node', ['main.js', 'helloworld'], null,
function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
});
setTimeout(function () {
phantom.exit(0)
}, 2000);