cmd查看占用的端口 在cmd命令中可用什么命令查看端口占用情況



文章插圖
cmd查看占用的端口 在cmd命令中可用什么命令查看端口占用情況

文章插圖

netsh http show servicestate 找到進程ID , 任務管理器停止相關服務
昨天剛更新了Windows10 , 總體上來說效果還是蠻不錯的 , 然而今天在開啟Apache服務器的時候卻發現 , Apache莫名其妙的打不開了 , 起初以為是權限的問題 , 于是使用管理員身份的控制臺去調用命令net start Apache2.4 , 結果依然是無法打開 。手動啟動服務報錯“Windows不能再本地計算機啟動Apache , 有關更多信息 , 查閱系統時間日志 。如果這是非Microsoft服務 , 請與服務廠商聯系 , 并參考特定服務錯誤代碼1 。”如下圖所示:
Windows不能再本地計算機啟動Apache , 有關更多信息 , 查閱系統時間日志 。如果這是非Microsoft服務 , 請與服務廠商聯系 , 并參考特定服務錯誤代碼1 。
看到這種情況 , 我有手動cd到Apache的httpd.exe的目錄 , 執行了一下httpd , 這下原因找到了 , 如下圖所示:
(OS 10013)以一種訪問權限不允許的方式做了一個訪問套接字的嘗試 。: AH00072: make_sock: could not bind to address 127.0.0.1:80 AH00451: no listening sockets available, shutting down AH00015: Unable to open logs
從圖中可以看到錯誤的原因是套接字綁定錯誤 , 這下可以確定是Apache的80端口被占用了 。于是就使用命令 netstat -ano 來查看一下到底是哪個程序占用了80端口 , 如圖所示端口查找的結果:
看到80端口被PID為4的System進程占用 , 呵呵 , 我想說一句我擦嘞什么鬼+_+ 。仔細想了想 , 一般的程序不會占用80 , 遂使用命令 netsh http show servicestate 查看一下當前的http服務狀態 , 發現果然有問題 , 如下圖所示:
圖中可以看到 , 80端口被一個DefaultAppPool的東西占用了 , 如果用過IIS的童鞋 , 這時候肯定一定想到了原因 , 這里我們依然要接著往下找原因 , 圖中可以看出控制器進程ID為4640 , 那么就 就繼續查看一下4640進程是什么鬼 , 進入任務管理器 , 找到PID4640的進程 , 右鍵轉到服務 , 可以看到當前的進程所在的服務 , 如圖所示:
看到圖中的服務 , 這里原因也就找到了 , IIS的World Wid Web Publishing Service 萬維網服務的問題 。
解決方案:
控制面板–>程序–>啟用或者關閉Windows功能–>找到Internet Information Service , 將其關閉即可
最近電腦時不時就發生了80端口被占用的情況,簡單百度解決后,當重啟電腦的時候又發生被占用的情況.今天非常幸運的是,發生了80端口和8080端口都被占用了情況,忍無可忍決定下定決心解決這個坑爹的問題,經過重新百度完美地解決了這個問題,下面貼出解決方法:
【cmd查看占用的端口 在cmd命令中可用什么命令查看端口占用情況】一:原文地址:http://www.2cto.com/os/201505/399603.html
我的占用原因是 SQL Server Reporting Services , 停止掉這個服務并設置其為手動啟動即可
如果你并沒有安裝 SQL Server , 請參考下文解決
===============================================================================
突然發現 80 端口被莫名占用 , 咋一看還是 System 這個進程
又無法結束這貨 , 于是開始慢慢查看到底是什么東西占用了
首先 , 打開 cmd 跑這一句 , 80 端口被System 占用 , 肯定是 HTTP 服務搞的鬼
1
netsh http show servicestate
看到 REPORTSERVER 略顯疑惑
我們繼續看 , 得到使用 80 端口的 PID了 , 還等什么?開 taskmgr?。ㄈ蝿展芾砥鳎?br />
任務管理器查看 PID 的方法:
上方在 cmd 中 , 我們得到 PID = 4212 , 現在我們看看是什么東西在作怪
看到上圖的結果 , 恍然大悟!如果大家不確定那是一個什么進程 , 我們對他右鍵 – 打開文件所在位置
這下大家應該都明白了吧 。我這個占用的根本是 SQL Server 的報告服務
最后我去 services.msc 里停止他并設置這個服務為手動就搞定了 。
如何查看當前 80 端口占用情況:
1
netstat -ano | findstr 0.0.0.0:80
這段命令輸入后回車 , 中間無內容即表示無占用
二:原文地址:https://www.caogenjava.com/detail/75.html
今天筆者想在server2008服務器上用80端口跑個項目 , 但是系統提示80端口被占用 , 端口被占用這在開發過程中是常見的事情 , 查一下被誰占用了 , 干掉他不就完了 。一查不要緊 , 結果太詭異 , 使用netstat -ano命令查看 , 80端口被pid的為0的進程給占用了 , 用任務管理器一看 , 這個pid為0的進程竟然是系統閑置進程即system idle process , 這個進程可是干不掉的 , 于是乎一通百度 。
首先在一篇百度文庫里找到了一篇帖子 , 說的是被sqlserver數據庫給占用了 , 因為我那臺服務器確實也安裝了該數據庫 , 原以為就是它的原因 , 但是按照文章中的說明處理之后80端口還是被占用 , 重啟服務器之后依舊 。那篇帖子地址是這個:《解決Windows Server 2008 System進程占用80端口》 。
最終終于在其他帖子里找到了答案 , 廢話不多說 , 直接上方案 。
打開設備管理器 , 點擊菜單欄中的查看–>顯示隱藏設備 , 這時候你能看到非即插即用驅動程序 , 展開 , 找到HTTP,雙擊切換到驅動程序選項卡 , 將類型設為已禁用 , 確定 , 重啟系統 。(注:理論上 , 你直接點停止也是可以的 , 但是我點擊之后系統總是卡死 。禁用還是要設置的 , 否則系統重啟之后80又被占用了),HTTP驅動通常是打印機之類的設備連接造成的端口占用