【发布时间】:2018-11-01 09:55:00
【问题描述】:
我的package.json 脚本部分如下所示。
"scripts": {
"prestart": "mongod",
"start": "NODE_ENV=prod node server.js",
"poststop": "mongo admin --eval 'db.shutdownServer()'",
"predev": "mongod",
"dev": "NODE_ENV=dev nodemon server.js"
},
在启动服务器之前,我使用 pre- 和 post 挂钩来启动 mongod。然后我使用 ctrl+c 杀死我的服务器。不幸的是,这不会执行poststop 脚本。因此,第二次调用npm/yarn start/dev 会引发错误并中止,因为mongod 已经在运行。
另一个 mongod 实例已经在 /data/db 目录上运行, 终止
我可以在 ctrl+c 上以某种方式调用 poststop 吗?
【问题讨论】:
-
poststop特定于mongod,对吗? -
@JoshuaPinter 已经有一段时间了,但 IIRC 是我编造的。随便叫什么。
标签: mongodb yarnpkg npm-scripts sigterm