golang埠占用檢測的使用

2022-09-28 09:42:06 字數 638 閱讀 3449

在運維開發的過程中,經常碰到這樣的情況:啟動某個應用前,需要先檢測一下埠是否被其他的應用占用了,若占用了,能否得到占用程序的pid。後續可以根據這個pid,查詢是哪個應用佔www.cppcns.com據這埠,然後kill掉。非常簡單的需求,思路是:

利用 netstat 命令獲取當前的相關埠號的pid,然後正規表示式過濾出相關的pid即可

netstat -ano | findstr 8099

輸出如下:

以windows 系統下為例,linux系統下,修改相關引數即可。**如下:

// 傳入查詢的埠號

// 返回埠號對應的程序pid,若沒有找到相關程序,返回-1

func portinus程式設計客棧e(portnumber int) int else

} return res

}對埠進行掃瞄基於連線,在go中我們可以使用net.dial進行判斷,如果返回的結果沒有錯誤,那麼這個埠就應該是開啟的,如果返回了錯誤,那麼可以說明這個埠是關閉的,程式設計客棧**如下

func scanport(protocol string, hostname string, port int) bool

defer conn.close()

return true

}

golang埠占用檢測

在運維開發的過程中,經常碰到這樣的情況 啟動某個應用前,需要先檢測一下埠是否被其他的應用占用了,若占用了,能否得到占用程序的pid。後續可以根據這個pid,查詢是哪個應用佔據這埠,然後kill掉。非常簡單的需求,思路是 利用 netstat 命令獲取當前的相關埠號的pid,然後正規表示式過濾出相關的...

C 檢測網路埠是否被占用

最近在使用nginx搭建web伺服器,nginx 發音同 engine x 是一款輕量級的 web 伺服器 反向 伺服器及電子郵件 imap pop3 伺服器,並在乙個 bsd like 協議下發行,可以在 unix gnu linux bsd mac os x solaris,以及 microso...

如何檢測網路埠是否被占用

原文 如何檢測網路埠是否被占用 開始選單 執行 輸入 cmd 輸入命令 netstat ano 檢視哪個程序占用了你所需要使用埠的pid 比如占用要使用埠的是 601 輸入 taskkill pid 601 f 停止占用埠的程序就可以了!netstat an find 4000 顯示與4000埠的鏈...