2
我正在運行bash命令以在後臺啓動服務器:「./starServer &」但是,我的服務器需要幾秒鐘才能啓動。我想知道我可以做些什麼來持續檢查它正在運行的端口,以確保它在我實際移動和執行其他事情之前就已啓動。我在golang api中找不到任何有助於此的東西。任何幫助表示讚賞!連續檢查是否正在使用TCP端口
c := exec.Command("/bin/sh", "-c", command)
err := c.Start()
if err != nil {
log.Fatalf("error: %v", err)
}
l, err1 := net.Listen("tcp", ":" + port)
不要在shell中後臺執行進程,它只會使進程無法正確等待子進程。一旦綁定了端口,服務器就會發出信號,否則您將不得不重新嘗試連接,直到連接完成。 – JimB