大家在啟動服務器時,有時正常啟動有時又啟動不了是怎么回事呢??那為什么關掉迅雷等軟件就又好了呢??現在就來給大家講解一下,

轉自:http://yinkai210.blog.163.com/blog/static/287483452009050256466/
這些端口如果被其他程序占用就不能正常啟動,比如有時啟動時會提示WEB啟動失敗,其實就是80端口被占用了,而迅雷等下載軟件恰恰就是占用了80端口,關掉就行了。但有時迅雷等都沒有開也啟動不了,那就是別的東西占用了,那怎么辦呢?我來叫你查看端口并關掉的方法。
1.在開始--運行 里面輸入cmd點回車,會出現運行窗口。
2.在提示符后輸入netstat -ano回車,找到tcp 80端口對應的pid,比如1484.
3.ctrl+alt+del打開任務管理器,選進程,這里有很多正在運行的程序怎么找?別急點上面的 查看--選擇列--在PID(進程標示符)前面打鉤。好了,下面的進程前面都有了PID號碼。這時上一步找到的PID就有用了,找到1484,比如PEER.EXE什么的,結束進程吧。這時再開服務器,看WEB可以啟動了!
如上面的不清楚還有簡明的:
假如我們需要確定誰占用了我們的80端口
1、Windows平臺
在windows命令行窗口下執行:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了嗎,端口被進程號為2448的進程占用,繼續執行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就開任務管理器,看哪個進程是2448,然后殺之即可。
如果需要查看其他端口。把 80 改掉即可
Linux查看端口使用狀態、關閉端口方法
轉自:http://blog.csdn.net/wudiyi815/article/details/7473097
前提:首先你必須知道,端口不是獨立存在的,它是依附于進程的。某個進程開啟,那么它對應的端口就開啟了,進程關閉,則該端口也就關閉了。下次若某個進程再次開啟,則相應的端口也再次開啟。而不要純粹的理解為關閉掉某個端口,不過可以禁用某個端口。
1. 可以通過"netstat -anp" 來查看哪些端口被打開。
(注:加參數'-n'會將應用程序轉為端口顯示,即數字格式的地址,如:nfs->2049, ftp->21,因此可以開啟兩個終端,一一對應一下程序所對應的端口號)
2. 然后可以通過"lsof -i:$PORT"查看應用該端口的程序($PORT指對應的端口號)。或者你也可以查看文件/etc/services,從里面可以找出端口所對應的服務。
(注:有些端口通過netstat查不出來,更可靠的方法是"sudo nmap -sT -O localhost")
3. 若要關閉某個端口,則可以:
1)通過iptables工具將該端口禁掉,如:
"sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者關掉對應的應用程序,則端口就自然關閉了,如:
"kill -9 PID" (PID:進程號)
如: 通過"netstat -anp | grep ssh"
有顯示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
則: "kill -9 7546"
(可通過"chkconfig"查看系統服務的開啟狀態)
posted on 2012-02-22 17:06
王海光 閱讀(993)
評論(0) 編輯 收藏 引用 所屬分類:
其他