linux下檢視埠占用的程式
在linux下開發時,你的軟體可能要使用某一個埠,或者想查詢某一個埠是否被佔用。需要怎麼做呢??這的確是一個比較煩惱的問題,我也此為這個苦惱過。但是透過查詢man手冊,還是同事的交流。總結出來兩種方法:
1)使用lsof命令
lsof是一個非常強大的linux工具,她被用來查詢哪些程式使用了那些檔案。在linux系統下,基本上所有的東西都可以被當作檔案來用。socket當然也是一種檔案了。所以lsof可以用來查詢誰用了某一個埠。具體方法:
lsof -i :port_number |grep "(LISTEN)"
-i是用來查詢和網路相關的檔案,":"號是必須的,它是標誌你查詢的是一個埠。port_number就是你要查詢的埠號,譬如你要查詢是否 有程式佔用了oracle的監聽埠1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程式已經佔用了,那麼下面列印的第二個欄位就是該程式的程式id,第一個欄位是程式的名字。
如果只有losf -i :port_number可能會查到很多應用程式,但這些程式實際並沒有佔用你指定的埠,這些埠只是連線到本機器或者別的機器的該埠。所以要grep "(LISTEN)“,因為一個埠只可能被一個程式佔用的,所以這種方法是可靠的。
2)使用netstat 命令
大家一定對這個命令比較熟悉了,可能你從沒有想到用到來查詢哪一個程式的佔用了指定的埠。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查詢man手冊,不過說實話,某些man手冊寫得讓中國人看不懂,那沒有辦法了,就googe或者 baidu一下吧。
執行man netstat命令,你會發現netstat 提供了'-p'的選項,這個選項的功能是告訴你哪個程式佔用了該埠,但是她提供的形式比較古怪是以pid/process_name提供的。pid當然 是程式id了,process_name是程式的命令,中間以'/'號分隔。
和上面的原因一樣,我們只查詢listen的埠,netstat 給我們提供了-l的選項,這個選項不是預設的選項。
下面以1521埠來看怎麼查詢到該程式,我們使用下面的命令:
netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'
在這裡使用awk來匹配第4個欄位的模式是為了避免誤判。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/47869/viewspace-1058653/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux下檢視程式佔用埠和埠占用程式命令Linux
- windows 下檢視埠占用Windows
- Linux檢視程式埠占用情況Linux
- Linux 檢視埠占用並Linux
- linux檢視埠占用情況Linux
- windows下檢視埠占用以及程式名稱Windows
- windows 檢視埠占用Windows
- windows檢視埠占用Windows
- linux檢視埠占用及強制釋放埠Linux
- 看下Linux 如何檢視埠占用情況Linux
- windows下常檢視埠占用方法總結Windows
- Dos命令檢視埠占用及關閉程式
- windows檢視埠占用命令Windows
- windows檢視埠占用情況Windows
- Windows 如何檢視埠占用情況?Windows
- 怎麼檢視埠占用情況?
- Linux檢視埠占用情況,並強制釋放佔用的埠Linux
- netstat -anp檢視埠占用情況
- 一行命令搞定windows檢視埠占用Windows
- win10怎麼檢視埠是否佔用 win10檢視埠占用的方法Win10
- Window 通過cmd檢視埠占用、相應程式、殺死程式等的命令
- CentOS7檢視開放埠命令、檢視埠占用情況和開啟埠命令、殺掉程式等命令教程。CentOS
- linux下檢視埠是否被佔用以及檢視所有埠Linux
- linux程式和埠檢視Linux
- netstat -ano 檢視機器埠占用情況
- 用命令檢視埠占用情況 netstat -ano
- linux下檢視埠命令lsofLinux
- LINUX 檢視埠Linux
- linux:檢視使用中的埠Linux
- Linux中如何解除埠占用Linux
- 收集整理 之 netstat -ano 檢視機器埠占用情況
- 埠占用的pid
- Linux檢視埠被哪個程式佔用Linux
- Linux檢視埠詳情Linux
- linux 檢視網路埠Linux
- linux上檢視埠使用的命令Linux
- TCPView(檢視網路埠的程式)TCPView
- Ubuntu解除埠占用Ubuntu