Phantomjs Child流程模块有助于与子流程交互并使用 stdin/stdout/stderr 与他们交谈.子进程可用于执行打印,发送邮件或调用以其他语言编写的程序等任务.要创建子流程模块,需要引用.
例如 :
var process = require("child_process");
Spawn方法
使用spawn子进程,您可以订阅 stdout 和 stderr 流来实时获取数据.
语法
其语法如下 :
var spawn = require('child_process').spawn;
示例
让我们看一下spawn方法的一个例子.
var process = require("child_process")var spawn = process.spawnvar 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:5163 a.js\r\n06-05-2017 16:32 120,232 a.pdf\r\n13-05-2017 20:49 spawnEXIT: 0