我具有通过使用Cloud Pub / Sub模拟器在本地开发和测试的GC功能。
我希望能够从Go代码中检查Cloud Pub / Sub模拟器是否已启动并正在运行。如果没有,我想通知开发人员,他/她应在本地执行代码之前启动模拟器。
模拟器启动时,我注意到一条线
信息:服务器已启动,正在侦听8085
也许我可以检查端口是否可用或类似。
答案 0 :(得分:1)
我猜您已经使用了以下命令:
gcloud beta emulators pubsub start
您将获得以下输出:
[pubsub] This is the Google Pub/Sub fake.
[pubsub] Implementation may be incomplete or differ from the real system.
[pubsub]
[pubsub] INFO: IAM integration is disabled. IAM policy methods and ACL checks are not supported
[pubsub]
[pubsub] INFO: Applied Java 7 long hostname workaround.
[pubsub]
[pubsub] INFO: Server started, listening on 8085
如果查看第二条INFO
消息,您会注意到进程名称将为JAVA
。现在,您可以运行以下命令:
sudo lsof -i -P -n
获取所有侦听端口和应用程序,输出应如下所示:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
XXXX
XXXX
java XXX XXX XX IPv4 XXX 0t0 TCP 127.0.0.1:8085 (LISTEN)
或者,您可以修改前面的命令以仅显示所需端口上发生的事情:
sudo lsof -i -P -n | grep 8085