什么是节点subprocess?
我正在阅读包含child_process库的node.js项目。
究竟是一个孩子的过程? 这是类似的JavaScriptnetworking工作者?
在subprocess中运行进程有什么优势,而不是简单地执行它? 我假设这一些如何让你更多的访问内存?
当你在Linux(bash进程)上运行terminal并执行命令(例如ls -lh /usr
,terminal启动一个subprocessls
,它将stdout
写入当前目录下的所有文件。 现在形象,而不是一个terminal,你有node.js
作为父进程。 你可以像这样产卵/开始一个孩子的进程:
const spawn = require('child_process').spawn; const ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process exited with code ${code}`); });
这是类似的JavaScriptnetworking工作者?
它可能类似于webworkers,但我不知道web浏览器如何在浏览器中引擎。 AFAIK node
没有开箱即用的web工具API。 但是如果你的subprocess是node.js
进程,比你可以查看这个subprocess的东西类似于webworker
。 看看这个集群API 。