微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Windows 10 上正确关闭 Firebase 模拟器

如何解决如何在 Windows 10 上正确关闭 Firebase 模拟器

firebase emulator:start 在我的 vscode powershell 终端中运行时,一些 java.exe 窗口会弹出。一切正常。

当我使用 ctrl+c 命令关闭 firebase 模拟器时,终端中有日志表明一切都应该正常关闭。这是 ^C 之后的日志:

i  emulators: Received SIGINT (Ctrl-C) for the first time. Starting a clean shutdown.
i  emulators: Please wait for a clean shutdown or send the SIGINT (Ctrl-C) signal again to stop right Now.
i  Automatically exporting data using --export-on-exit "./data" please wait for the export to finish...
Terminate batch job (Y/N)? i  Found running emulator hub for project une-petite-partie at http://localhost:4400
i  Deleting directory C:\Users\schar\Documents\Programming\Projects\Card Game\data\firestore_export
i  Exporting data to: C:\Users\schar\Documents\Programming\Projects\Card Game\data
i  emulators: Received export request. Exporting data to C:\Users\schar\Documents\Programming\Projects\Card Game\data.
+  emulators: Export complete.
+  Export complete
i  emulators: Shutting down emulators.
i  ui: Stopping Emulator UI
!  Emulator UI has exited upon receiving signal: SIGINT
i  functions: Stopping Functions Emulator
i  hosting: Stopping Hosting Emulator
i  database: Stopping Database Emulator
!  Database Emulator has exited upon receiving signal: SIGINT
i  firestore: Stopping Firestore Emulator
!  Firestore Emulator has exited upon receiving signal: SIGINT
i  pubsub: Stopping Pub/Sub Emulator
!  Pub/Sub Emulator has exited upon receiving signal: SIGINT
i  hub: Stopping emulator hub
i  logging: Stopping Logging Emulator

那里有一个 (Y/N) 提示,所以如果我输入 Y 或 N,那么终端会返回到常规的 powershell 待机状态。

实际上,java.exe 窗口保持打开状态。此时,如果我再次运行 firebase emulator:start,我会收到一条错误消息,指出正在使用模拟器的端口。如果我手动关闭 java.exe 窗口并再次运行模拟器,它会按预期工作。

我使用的是 Windows 10、powershell 和 VS 代码我不是在寻找清除端口的技巧,因为我可以简单地关闭 java.exe 窗口。我想知道如何在 powershell 中一举关闭所有这些。有这样的事情吗?这是我应该报告的问题吗?

解决方法

我也遇到了类似的问题。我找到了两种方法来解决这个问题。

方法一:

  1. 使用以下命令查找端口和进程 ID

    netstat -a -o -n

  2. 使用下面提到的命令杀死那个进程

    taskkill /F /PID PROCESS_ID

其中 PROCESS_ID 是我们从步骤 1 中获得的进程 ID

  1. 再次启动模拟器

    firebase emulators:start

方法二:

使用以下命令终止所有 Java 进程。

taskkill /f /im java.exe
,

我就是这样做的。

  1. 在 VSCode 终端中按 CTRL + C。
  2. 手动关闭 Java 窗口
  3. 在任务的 VSCode 终端窗口中按下垃圾桶图标。

从那个状态,我可以再次启动 Firebase Emulator 任务就好了。

firebase emulators:start

也许有更好的方法,但在让自己困惑多年之后,我很高兴我找到了至少有效的方法。 在你做了几次之后,它会变得足够快,可以在你需要的时候做。

希望对某人有所帮助。 :)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。