私はchild_processライブラリを含むnode.jsプロジェクトを読んでいます。ノードの子プロセスとは何ですか?
正確には子プロセスですか?これはjavascriptウェブワーカーに似ていますか?
子プロセスのプロセスを通常単に実行するのではなく、どのような利点がありますか?私はこれを仮定すれば、メモリへのアクセスを増やすことができます。
私はchild_processライブラリを含むnode.jsプロジェクトを読んでいます。ノードの子プロセスとは何ですか?
正確には子プロセスですか?これはjavascriptウェブワーカーに似ていますか?
子プロセスのプロセスを通常単に実行するのではなく、どのような利点がありますか?私はこれを仮定すれば、メモリへのアクセスを増やすことができます。
Linuxでターミナルを実行し(bashプロセス)、コマンドを実行すると、たとえばls -lh /usr
と入力すると、端末はstdout
のすべてのファイルを現在のディレクトリに書き込む子プロセスls
を開始します。ここで端末の代わりに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}`);
});
この同様のJavaScriptのウェブワーカーは、次のとおりです。あなたは、このような子
ls
プロセスを開始/生むことができますか?
ウェブワーカーに似ているかもしれませんが、ウェブワーカーがブラウザでどのように実装されているかはわかりません。 AFAIK node
には、Web Workers APIが用意されていません。しかし、あなたの子プロセスがnode.js
プロセスである場合、あなたはwebworker
に類似したこの子プロセスを見ることができます。このcluster APIをご覧ください。