📅  最后修改于: 2020-10-21 05:35:52             🧑  作者: Mango
Phantomjs子流程模块有助于与子流程进行交互,并使用stdin / stdout / stderr与它们进行对话。子进程可用于执行诸如打印,发送邮件或调用以另一种语言编写的程序之类的任务。要创建子流程模块,您需要参考。
例如-
var process = require("child_process");
通过生成子进程,您可以订阅其stdout和stderr流以实时获取数据。
它的语法如下-
var spawn = require('child_process').spawn;
让我们看一看spawn方法的示例。
var process = require("child_process")
var spawn = process.spawn
var child = spawn("cmd", ['/c', 'dir']);
child.stdout.on("data", function (data) {
console.log("spawnSTDOUT---VALUE:", JSON.stringify(data))
})
child.stderr.on("data", function (data) {
console.log("spawnSTDERR:", JSON.stringify(data))
})
child.on("exit", function (code) {
console.log("spawnEXIT:", code)
})
上面的程序生成以下输出。
spawnSTDOUT---VALUE: " Volume in drive C is OS\r\n"
spawnSTDOUT---VALUE: " Volume Serial Number is 7682-9C1B\r\n\r\n Directory of C:
\\phantomjs\\bin\r\n\r\n"
spawnSTDOUT---VALUE: "20-05-2017 10:01
.\r\n20-05-2017 10:01
..\r\n13-05-2017 20:48 12 a,txt.txt\r\n07-05-2017 08:51
63 a.js\r\n06-05-2017 16:32 120,232 a.pdf\r\n13-05-2017 20:49
spawnEXIT: 0