最近我用 node.js+express 做了一个简单的 API 服务器。下面的脚本是我用来运行 npm 命令的 package.json 文件的一部分。
"scripts": {
...
"release": "cross-env NODE_ENV=production MODE=release node server/app.js",
}
在我使用npm run release启动服务器后,我可以看到多个进程如下所示在我的 Linux 服务器上运行。
/bin/sh /api/node_modules/.bin/cross-env NODE_ENV=development MODE=test node server/app.js
node /api/node_modules/.bin/../cross-env/bin/cross-env.js NODE_ENV=development MODE=test node server/app.js
node server/app.js
我在这里阅读了相关文档,但我不明白后台实际发生了什么。
- 创建进程的顺序是什么?npm => /bin/sh => 节点 /api/.. => 节点服务器/app.js ?
- 每个过程的作用是什么?所有三个进程都是运行我的服务器所必需的吗?
- 如果我想用 pid 杀死服务器,我应该使用哪个进程 id?