unix - 一次中断所有 lerna --parallel 任务
问题描述
我有一个 lernalerna dev
脚本--parallel
(这些服务器在不同端口上以开发模式为各自的应用程序提供热重载。基本上,这允许顺利开发,因为我们只需输入一个命令即可开始处理多个包。
我注意到的问题是,当我中断这个 lerna 任务时,服务器不会关闭。当我运行我的lerna dev
命令时,它会打印出说明服务器已经在它们使用的端口上运行的消息。这意味着,当我关闭lerna dev
命令(使用CTRL+ C)时,它不会杀死所有正在运行的进程(有些被杀死,有些没有)。
有趣的是,那些不关闭的是create-react-app projects
.
所以这是我的问题:如何确保通过lerna run
带有选项的命令启动的进程--parallel
都与主进程一起被杀死?
PS:这发生在 Unix 系统上,我们不使用 Windows。
解决方案
您可以使用kill-port在 NPM 脚本中一次杀死所有进程。
您还可以添加一个脚本来杀死端口并运行lerna dev
以确保端口已关闭并且在服务器启动时不会出现错误。
"scripts": {
"kill-ports": "kill-port --port 4444,5555,3000",
"dev": "npm run kill-ports && lerna run dev --parallel"
}
推荐阅读
- c - 为什么我的 do-while 条件不起作用?
- vhdl - 如何在 VHDL 中实现字节可寻址存储器?
- git - git合并两个连续的提交
- reactjs - 为 Reactjs 材质 ui Select 动态添加一个 prop
- c# - 使用 ASP.NET Core 控制台应用程序从 API 端点下载文件
- javascript - 无法在 highcharts 中更改 xaxis
- angular - 更新 url 角度
- asp.net - 查询 Microsoft devops azure 提交以显示在“更新”页面上
- json - 如何从网络网关设备响应中过滤裸机响应?
- php - php中的链表给出错误