最近、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
関連ドキュメントhereを読みましたが、バックグラウンドで実際に何が起こっているのかわかりません。
- プロセスを作成する順序は? npm => /bin/sh => ノード /api/.. => ノード server/app.js ?
- 各プロセスは何をしますか?サーバーを実行するには、3 つのプロセスすべてが必要ですか?
- pid でサーバーを強制終了したい場合、どのプロセス ID を使用すればよいですか?