在運維開發的過程中,經常碰到這樣的情況:啟動某個應用前,需要先檢測一下埠是否被其他的應用占用了,若占用了,能否得到占用程序的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埠的鏈...