端口占用查询

端口占用查询

netstat -a -n  各个端口占用 
netstat -ano   各个端口占用和进程PID

1、在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等.
        这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:
        >netstat -aon | findstr "80"
                Proto  Local Address          Foreign Address        State            PID
                ====  ============      ==============  ==========  ======
                TCP    0.0.0.0:80                    0.0.0.0:0                LISTENING      1688
可以看出80端口被进程号为1688的程序占用.
        >tasklist | findstr "1688"
图像名                                                PID            会话名                    会话#       内存使用
               ========================= ====== ================ ======== ============
               inetinfo.exe                                        1688           Console                      0              2,800 K
很明显,是inetinfo占用了80端口;inetinfo.exe主要用于支持微软Windows IIS网络服务的除错,这个程序对你系统的正常运行是非常重要的.
        当然,并不是只有inetinfo.exe进程会占用80端口,这只是我机器上的情况.如果你并不了解此进程是干什么用的,千万不要盲目地将其kill掉,最好先百度或Google搜索一下;当然如果你很了解它,并确定可以终止,那么继续下面的命令.
        >taskkill /pid 1688 /F
成功: 已终止 PID 为 1688 的进程。
如果你很熟悉此进程,并确定可以终止,那么就直接使用上面的命令把PID为1688的进程终止.(这一步同样可以在任务管理器中执行,inetinfo.exe就是任务管理器中的映像名称,选中它,点击"结束进程"即可)
        >tasklist | findstr "1688"
再次确认是否成功终止,如果成功终止此次执行命令后应返回空.

2、linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等

查询端口是否被占用,被哪个进程占用有两种方式:1、netstat -anl | grep "80" ;2、lsof -i:80

终止进程的方式:kill pid

查询并关闭被占用的162端口,可按以下两种方法操作: ### 方法一:使用命令提示符 1. 打开命令提示符(Command Prompt):使用 win + R 打开命令行模式,然后在命令行窗口操作。 2. 查看占用端口的进程:使用命令 `netstat -ano | findstr 162` 查看占用162端口的进程。在输出结果的最右侧可以看到占用端口的进程号。 3. kill杀死占用端口的进程: - 若要正常关闭占用指定端口的进程,使用语法 `taskkill /pid (进程号)` ,例如,若进程号为1234,则输入 `taskkill /pid 1234`。 - 若要强制关闭占用指定端口的进程,使用语法 `taskkill /F /PID 进程号` ,例如 `taskkill /F /PID 1234` [^1]。 ### 方法二:使用Python脚本 可以使用以下Python脚本实现关闭被占用的162端口: ```python import os import re import time def kill_port_process(port): # 根据端口号杀死进程 ret = os.popen("netstat -nao|findstr " + str(port)) str_list = ret.read() if not str_list: print('端口未使用') return # 只关闭处于LISTENING的端口 if 'TCP' in str_list: ret_list = str_list.replace(' ', '') ret_list = re.split('\n', ret_list) listening_list = [rl.split('LISTENING') for rl in ret_list] process_pids = [ll[1] for ll in listening_list if len(ll) >= 2] process_pid_set = set(process_pids) for process_pid in process_pid_set: os.popen('taskkill /pid ' + str(process_pid) + ' /F') print(port, '端口已被释放') time.sleep(1) elif 'UDP' in str_list: ret_list = re.split(' ', str_list) process_pid = ret_list[-1].strip() if process_pid: os.popen('taskkill /pid ' + str(process_pid) + ' /F') print('端口已被释放') else: print("端口未被使用") if __name__ == '__main__': kill_port_process(162) ``` 将上述代码保存为 `.py` 文件,例如 `close_port.py`,然后在命令行中运行 `python close_port.py` 即可尝试关闭被占用的162端口 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值