child_process 라이브러리가 포함 된 node.js 프로젝트를 읽었습니다.노드 하위 프로세스 란 무엇입니까?
정확히 어떤 하위 프로세스입니까? 이것은 자바 스크립트 웹 작업자와 비슷합니까?
단순히 프로세스를 정상적으로 실행하는 대신 하위 프로세스에서 프로세스를 실행하면 어떤 이점이 있습니까? 이걸 메모리에 더 많이 액세스 할 수있는 방법이 있다고 가정합니다.
child_process 라이브러리가 포함 된 node.js 프로젝트를 읽었습니다.노드 하위 프로세스 란 무엇입니까?
정확히 어떤 하위 프로세스입니까? 이것은 자바 스크립트 웹 작업자와 비슷합니까?
단순히 프로세스를 정상적으로 실행하는 대신 하위 프로세스에서 프로세스를 실행하면 어떤 이점이 있습니까? 이걸 메모리에 더 많이 액세스 할 수있는 방법이 있다고 가정합니다.
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}`);
});
이 유사한 자바 스크립트 웹 노동자인가 : 당신은이 같은 아이
ls
프로세스를 시작/산란 할 수 있습니까?
웹 근로자와 비슷하지만 웹 브라우저가 브라우저에서 어떻게 구현되는지는 잘 모릅니다. AFAIK node
에는 웹 워커 API가 기본적으로 제공되지 않습니다. 그러나 귀하의 자녀 과정이 node.js
과정 인 경우,이 자녀 과정을 webworker
과 비슷한 것으로 볼 수 있습니다. 이 cluster API을보십시오.