linux - 如何检测 linux 端口是否被 Go 中的进程绑定?
问题描述
我正在 GO 中编写一些 e2e 测试,其中测试 ldap 服务器通过 Go 例程运行。然后我通过t.Run()
. 有时测试失败是因为服务器尚未启动。在开始测试之前,我尝试添加最多 10 秒的睡眠时间。但是事情仍然不稳定(尤其是在 travis ci 上)。
我可能会在调用之前使用 ldap 客户端来检测连接操作是否成功t.Run()
。但是我想知道是否有一个更通用的解决方案,一个 Go 进程可以检查一个端口是否已经被某个进程绑定。我正在寻找类似lsof
或netstat
在 Go 中的东西。
我在网上搜索并找到了一些net.Listen
用于绑定该端口的解决方案,看看是否成功。显然我不想这样做,因为那将与我自己的代码发生冲突。欢迎任何想法!
谢谢。
解决方案
推荐阅读
- php - 如何在新订单 WooCommerce 电子邮件通知中将“产品”更改为“服务”
- asp.net - 如何在 asp.net 中为多选创建 SelectIndexChanged 事件
- python - 如何解决 Django 中的 KeyError?
- java - Java 使用 Array.sort() 对字符串数组进行排序,就像 python 使用 key=lambda x 进行排序一样:
- angular - Angular + Firebase:无法重新发送验证电子邮件
- php - MySQL 5.7 (PHP) 比较两个 json 数组并得到 dfference
- python - 寻找近似系数
- python - KivyMD:如何自动显示python文件中生成的MDList
- javascript - 将视图(php文件)作为字符串传递给yii 2中registerJS中的变量js
- python - 在熊猫中将一列替换为另一列