如何检查Cloud Pub / Sub模拟器是否已启动并正在运行?

I have GC functions which I develop and test locally by using Cloud Pub/Sub emulator.

I want to be able to check from within Go code if Cloud Pub/Sub emulator is up and running. If not, I would like to inform a developer that he/she should start emulator before he/she execute code locally.

When the emulator starts I noticed a line

INFO: Server started, listening on 8085

Maybe I can check if port is available or similar.

I guess you have used this command:

gcloud beta emulators pubsub start

And you got the following output:

[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

If you take a look at the second INFO message you'll notice that the process name will be JAVA. Now you can run this command:

sudo lsof -i -P -n

Getting all the listening ports and applications, the output should be something like this:

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)

Alternatively you can modify the previous command to show only what is happening on the desired port:

sudo lsof -i -P -n | grep 8085