回覆列表
  • 1 # 科技猿說

    如果是java開發的話,

    1.直接關閉tomcat

    2.如果還是埠衝突,可以關閉exlipse專案

    3.如果還沒成功,可以用cmd 指令

    4.雙擊開啟

    5.管理員身份執行

    6.輸入指令:netstat -ano

    7.檢視埠pid

    8.任務管理--找相同PID

  • 2 # IT大叔Cc

    想要快速關閉埠,大概思路是,先找到這個埠關聯的程序PID,然後透過殺死該程序,來關閉埠號。這裡包含windows系統和Linux系統,使用的操作方法類似,windows系統需要使用到BAT指令碼來完成,linux系統只需要一條命令就可完成,下面來看一下執行過程。

    linux系統

    首先使用netstat命令查詢埠比如9007埠,然後透過killall -9 強制殺死程序,如下:

    [root@api linux]# netstat -anp|grep 9007

    [root@api linux]# killall -9 httpd

    或者

    [root@api linux]# killall -9 12829

    當然,也可以透過一條命令直接殺死程序,如下:

    [root@api linux]# netstat -anp|grep :9007|awk -F/ "{print $2}"|xargs killall -9 ##首先過濾9007埠繫結的資訊,透過awk過濾出程序PID或者程序名稱,如httpd,最後透過xargs命令將過濾出來的字元作為引數傳遞給killall命令,將程序殺死。windows系統

    windows系統同樣也是使用netstat命令查詢埠的PID,只不過引數略有不同,最後taskkill 命令殺死程序,如下:

    C:\Users\1>netstat -ano|findstr 9007C:\Users\1>taskkill /pid 4024 /t /f

    如果要快速關閉的話,就需要建立BAT指令碼檔案,透過定義變數來殺死埠關聯的程序,內容如下。

    set port=9007

    for /f "tokens=5 " %%a in ("netstat -ano^|findstr %port%") do (

    echo %%a

    taskkill /pid %%a /t /f

    tasklist |findstr %%a

    )

    pause

    ##set定義port變數,透過for語句的tokens引數提取字串,這提取的是第五列,也就是程序PID,最後透過taskkill /pid <pid_nub> /t /f強制命令殺死程序和程序包含的子程序。

    我們來看一下執行結果,首先透過netstat和findstr命令配合過濾出埠號對應的程序資訊,然後使用for語句將資訊複製給變數%%a,最後使用taskkill殺死程序PID,如下:

    總結,linux系統使用命令直接殺死程序相比windows比較簡單,windows的dos指令略有複雜。

  • 中秋節和大豐收的關聯?
  • 什麼狗打得過狼之類的動物?要詳細和狗狼的習性實力?