为什么 "babel-node" 旋转 2 个进程?
Why "babel-node" spins 2 processes?
我的 package.json
中有以下脚本:
"scripts": {
"start": "babel-node app"
}
当我 运行 npm start
然后 ps aux | grep node
,我看到 2 个进程 运行ning:
mishamoroshko 18102 58.9 4.2 3173444 174656 s001 S+ 2:37pm 0:03.18 node /Users/mishamoroshko/my-project/node_modules/babel/bin/_babel-node app
mishamoroshko 18101 0.0 0.4 3045884 15488 s001 S+ 2:37pm 0:00.08 node /Users/mishamoroshko/my-project/node_modules/.bin/babel-node app
哪个是我的应用程序,为什么它在 2 个进程中 运行?
babel-node
是根进程,它生成 _babel-node
这是实际执行您的应用程序的进程。
默认情况下,Babel 在处理传递给子进程的参数后生成一个子节点进程,但父进程保持活动状态(这就是您所看到的)。你可以看到逻辑 here.
查看该文件,Babel 支持的一个选项是您可以将 kexec
与 Babel 一起安装,它会在回退到生成子进程之前尝试使用它。如果安装了 kexec
,整个父 Node 进程将被子进程替换,因此您的列表中将只有一个进程。
因此,如果您希望停止此行为,只需将 kexec
添加到您的 package.json
旁边 babel
。
我的 package.json
中有以下脚本:
"scripts": {
"start": "babel-node app"
}
当我 运行 npm start
然后 ps aux | grep node
,我看到 2 个进程 运行ning:
mishamoroshko 18102 58.9 4.2 3173444 174656 s001 S+ 2:37pm 0:03.18 node /Users/mishamoroshko/my-project/node_modules/babel/bin/_babel-node app
mishamoroshko 18101 0.0 0.4 3045884 15488 s001 S+ 2:37pm 0:00.08 node /Users/mishamoroshko/my-project/node_modules/.bin/babel-node app
哪个是我的应用程序,为什么它在 2 个进程中 运行?
babel-node
是根进程,它生成 _babel-node
这是实际执行您的应用程序的进程。
默认情况下,Babel 在处理传递给子进程的参数后生成一个子节点进程,但父进程保持活动状态(这就是您所看到的)。你可以看到逻辑 here.
查看该文件,Babel 支持的一个选项是您可以将 kexec
与 Babel 一起安装,它会在回退到生成子进程之前尝试使用它。如果安装了 kexec
,整个父 Node 进程将被子进程替换,因此您的列表中将只有一个进程。
因此,如果您希望停止此行为,只需将 kexec
添加到您的 package.json
旁边 babel
。