首頁  >  文章  >  運維  >  淺析Wind和Linux中查看連接埠佔用情況和Kill(附代碼)

淺析Wind和Linux中查看連接埠佔用情況和Kill(附代碼)

奋力向前
奋力向前轉載
2021-09-03 09:46:094138瀏覽

之前的文章《一文講解MacOS常用終端指令(附程式碼)》中,給大家了解了一文講解MacOS常用終端指令。以下這篇文章給大家了解Wind和Linux中查看連接埠佔用情況和Kill,我們一起看看怎麼做。

淺析Wind和Linux中查看連接埠佔用情況和Kill(附代碼)

連接埠佔用情況和Kill(Window & Linux)

Windows 使用

##window中的netstat

  • -a 顯示所有連接和偵聽連接埠。

  • -n 以數字形式顯示位址和連接埠號碼。

  • -o 顯示擁有的與每個連線關聯的進程ID

查看所有連接埠佔用情況
netstat  -ano

查看被佔用連接埠3306對應的PID
netstat -ano | findstr 3306

查看指定連接埠3306的PID進程
tasklist | findstr 3306

結束進程

強制(/F參數)殺死pid 為12345 的所有進程包括子程序(/T參數): 

taskkill /T /F /PID 12345

Linux使用

使用netstat指令

##-t (tcp)僅顯示tcp
相關選項

-u (ucp)僅顯示ucp相關選項

-n
    拒絕顯示別名,能顯示數字的全轉成數字
  • -l 只列出有在

    Listen
  • (監聽)的服務狀態
  • -p 顯示建立相關連結的程式名稱

  • #看目前所有已經使用的連接埠狀況

    netstat   -nultp

    查看某個連接埠使用情況
  • netstat   -anp |grep 3306
    使用lsof指令

  • 默認: 沒有選項,lsof

    列出活躍進程的所有開啟檔案
  • #組合: 可以將選項組合在一起,如-abc,但要當心哪些選項需要參數

  • -a : 結果進行「與」運算(而不是「或」)

  • -l
  • : 在輸出顯示使用者

    ID而不是使用者名稱-h

    : 獲得幫助

-t

: 只取得行程
    ID
  • -U

    : 取得
  • UNIX
  • 套介面位址

    -F

    : 格式化輸出結果,用於其它指令。可以透過多種方式格式化,如
  • -F pcfn
  • (用於進程

    id、命令名稱、檔案描述符、檔案名,並以空終止)

    lsof -i:3306

  • 常用
  • lsof abc.txt

    顯示開啟檔案
  • abc.txt
  • 的進程

  • lsof -i :22
  • 知道

    22連接埠現在執行什麼程式

  • lsof -c abc 顯示abc進程現在開啟的檔案

  • lsof -g gid
  • 顯示歸屬

    gid 的進程狀況

  • lsof d /usr/local/ 顯示目錄下被進程開啟的檔案

  • lsof D /usr/local/
  • 同上,但會搜尋目錄下的目錄,時間較長

    lsof -d 4 顯示使用fd

  • 4
  • 的進程

  • lsof -i
  • 用以顯示符合條件的進程狀況

  • lsof -p 12
  • 看進程號為

    12的進程開啟了哪些檔案

  • # #lsof |-r [t] 控制lsof

    不斷重複執行,缺省是
  • 15s
刷新

##lsof -r,lsof會永遠持續的執行,直到收到中斷訊號

  • lsof r,lsof

    會一直執行,直到沒有檔案被顯示

  • lsof -s

    列出開啟檔案的大小,如果沒有大小,則留下空白

  • # lsof -u username

    UID,列出開啟的檔案

  • #使用ps

    指令
  • ##指令參數:
  • a
  • 顯示所有行程
  • ##-a

    顯示同一終端機下的所有程式
  • -A

    顯示所有進程
  • ##c 顯示進程的真實名稱

  • -N 反向選擇

  • -e 等於「

    -A
  • e
  • 顯示環境變數
  • f ###顯示程式間的關係### ############-H### 顯示樹狀結構################r### 顯示目前終端機的進程##### ##########T ###顯示目前終端的所有程式################u### 指定使用者的所有程序###### #########-au### 顯示較詳細的資訊################-aux### 顯示所有包含其他使用者的行程###
  • -C99a2c3ea6fd7e6f38f79ffc1b9e66846 列出指定命令的状况

  • --lines1dcc53fc8cc7b2478796660caa67152b 每页显示的行数

  • --width43fcd4448ba0fb0354190e42ef7c7dd3 每页显示的字符数

  • --help 显示帮助信息

  • --version 显示版本显示

查找特定进程

ps -ef|grep ssh

输出:

chuchur@linux:~/share$ ps -ef|grep bash
chuchur        9448  79650  0 06:05 pts/4    00:00:00 grep --color=auto bash
chuchur       79650  79575  0 03:49 pts/4    00:00:00 bash

通过服务名字查找PID

查找 nginxpython 占用情况

ps aux | egrep '(nginx|python)'

输出:

root         951  0.0  0.3 425268 27680 ?        Ssl   2020   9:48 /usr/libexec/platform-python -Es /usr/sbin/tuned -l -P
root      212828  0.0  0.1 135300 13924 ?        Ss    2020   0:00 nginx: master process /usr/sbin/nginx
root     2488443  0.0  0.1 164676 14892 ?        S    Mar06   0:00 nginx: worker process

结束进程

kill命令参数

  • -1 (HUP):重新加载进程。

  • -9 (KILL):杀死一个进程。

  • -15 (TERM):正常停止一个进程。

  • -KILL 强制杀死进程

kill -9 65300 #彻底干掉pid为65530的进程

kill -9 $(ps -ef | grep guest) #干掉guest 用户进程
#or
kill -u guest

推荐学习:windows教程

以上是淺析Wind和Linux中查看連接埠佔用情況和Kill(附代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:chuchur.com。如有侵權,請聯絡admin@php.cn刪除