不是说进程之间的资源无法共享吗,即使要共享也需要使用进程通信的手动吧?
个人对于进程与进程之间的资源共享也只到达这个地步而已。
那么为什么 Node.js child_process 创建出来的进程可以之间拿父进程的数据?
// 父进程
const exec = require('child_process').exec;
const Name = "QQ";
exec('echo hello world', (err, stdout, stderr) => {
if (err) throw err;
console.log (Name); // "QQ"
})
为啥 exec 的回调里面可以获得 主进程的 Name 变量? 难道是 exec 的回调函数又回到父进程了?
对了补充一句,之前我父进程有一个统一处理 error 的函数。 所有主进程的 throw 我都可以捕获并且,进行处理。
但是一旦 exec 里面 throw error。我主进程竟然不能捕获,并且主进程还挂掉了。
exec 的回调当然是在主进程啊...