如何关闭本地firebase模拟器?
目前,我使用以下方法初始化firebase模拟器:如何关闭本地firebase模拟器?,firebase,google-cloud-firestore,firebase-tools,Firebase,Google Cloud Firestore,Firebase Tools,目前,我使用以下方法初始化firebase模拟器: $firebase模拟器:开始 经过一段时间的工作,我想停止它。然后我如何停止模拟器 检查哪个进程正在占用端口sudo lsof-i tcp: 终止进程Kill-9 如果您不想每次都检查端口,可以使用以下命令停止命令 kill -9 (lsof -t -i:5002 -i:5001) (-i:xxxx是firebase.json中正在运行的模拟器端口。) 而且,我不想记住这个长命令。 所以我在下面编写了package.json脚本 "
$firebase模拟器:开始
经过一段时间的工作,我想停止它。然后我如何停止模拟器
sudo lsof-i tcp:
Kill-9
如果您不想每次都检查端口,可以使用以下命令停止命令
kill -9 (lsof -t -i:5002 -i:5001)
(-i:xxxx是firebase.json中正在运行的模拟器端口。)
而且,我不想记住这个长命令。
所以我在下面编写了package.json脚本
"scripts": {
...
"stop": "lsof -t -i :5001 -i:5002 | xargs kill -9",
...
}
我已经尝试了上面的所有答案,但没有一个达到我的预期:在不必ctrl+c的情况下优雅地结束整个模拟器套件,不占用任何端口。下面是我如何解决它的 TLDR:
lsof-ti:4400 | xargs——空终止时不运行
端口为4400,因为它是Emulator集线器的默认端口。尽管使用此命令,无论终止哪个进程,都将结束仿真器
其他答案中使用的“-9”标志不会向进程发送SIGTERM信号,而是强制将其终止。这会阻止仿真器优雅地结束。根据这一点:
Ctrl+C
杀死仿真器另一种方法是使用firebase仿真器:exec
,根据CLI文档,它会执行以下操作:
启动本地Firebase模拟器,运行测试脚本,然后关闭模拟器
由于我将测试运行命令放在Makefile中,因此我使用以下命令从Pythonfirebase\u admin
SDK测试firestore:
firebase emulators:exec "make test" --only firestore
端口的设置和拆除由firebase直接处理。我发现,如果您退出VSCode而不首先关闭模拟器,它可以保持运行,并且没有上述命令,您将需要重新启动计算机才能重新启动模拟器。感谢您在linux上共享@xmkevinchenforWindows:@ra9r该过程称为java。如果你杀了它,你就不需要重新启动你的计算机。我很震惊,没有关机命令……这是一个疯狂的工作流。这对Windows不起作用。但对我来说是这样的——如果在macOS上空了就不运行是假的