1
我正在閱讀一個node.js項目,其中包含child_process庫。什麼是節點子進程?
子過程究竟是什麼?這是類似的JavaScript網絡工作者?
在子進程中運行進程而不是簡單地正常執行它有什麼好處?我假設這一些如何讓你更多地訪問內存?
我正在閱讀一個node.js項目,其中包含child_process庫。什麼是節點子進程?
子過程究竟是什麼?這是類似的JavaScript網絡工作者?
在子進程中運行進程而不是簡單地正常執行它有什麼好處?我假設這一些如何讓你更多地訪問內存?
當你在Linux上運行(bash進程)終端,並執行一個命令,例如ls -lh /usr
,終端開始一個子進程ls
,寫入到stdout
所有文件在當前目錄中。現在圖像,而不是一個終端,你有node.js
作爲父進程。您可以生成/啓動子ls
過程是這樣的:
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的網絡工作者?
它可能類似於webworkers,但我不知道webworkers如何在瀏覽器下引擎實現。 AFAIK node
沒有開箱即用的webworkers API。但是如果你的子進程是node.js
進程,你可以查看這個子進程的東西類似於webworker
。看看這個cluster API。