首页 > 解决方案 > 如何在 Go 中获取监听端口的服务的详细信息

问题描述

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

我如何知道哪个服务正在侦听端口 55555?Go中是否有任何解决方法可以做到这一点?

标签: gonetworking

解决方案


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


推荐阅读