【发布时间】:2015-07-08 01:31:32
【问题描述】:
我的二进制文件接受一个端口参数并启动一个 http 服务器。如果将 0 传递给 -port,它将找到一个空闲端口并在其上启动。
在此之后,如果我有命令对象并且可以获得进程ID,我如何找到这是哪个端口?我正在尝试用 golang 编写我的应用程序。我也很好奇这是如何做到的。
【问题讨论】:
-
如果您想从您的程序中获取此信息,只需在
net.Listener上使用Addr()方法。如果你想把它放在外面,你可以做类似netstat的事情,或者你可以让你的程序保存在某处使用的地址/端口(就像有多少守护进程写一个 pidfile)。