我正在开发一个项目,该项目需要与基于端口55555在localhost中侦听的服务或基于某些条件与该服务的Docker容器进行通信。如果该服务已经在侦听端口55555,那么我必须与该端口进行通信,并跳过启动其Docker容器的操作。

我如何知道哪个服务正在侦听端口55555? Go中有任何解决方法吗?

分析解答
command := "lsof -i:55555"
cmd := exec.Command("/bin/bash", "-c", command)
bytes,err := cmd.Output()
if err != nil {
     log.Println(err)
}
resp := string(bytes)
log.Println(resp)

您可以通过golang代码执行shell