`
XinTeng2012
  • 浏览: 93665 次
社区版块
存档分类
最新评论

根据port端口号查找process进程(服务)或者根据服务名字查找端口号

 
阅读更多

首先介绍根据服务名字查找端口:

控制面板->管理工具->服务,比如已经开启的服务mysql5_pn,右键属性,可以查看到它的服务名字,显示名字,和对应的进程exe,我们平时在cmd中的命令net start service之类的命令这个service就是服务名字,而tasklist命令查找的是进程名字,这时候我们找到mysql5_pn对应的进程名字是mysqld-nt,然后使用tasklist |findstr mysqld-nt,就会列出对应的信息,我们找到pid,比如说是3372,然后敲netstat -aon |findstr 3372,然后就会列出含有3372字符串的一些进程,同时显示了端口,这样就从一个服务名字来获得它的端口号了。

在网络程序的调试过程中,经常发生一些出乎意料的事情,比如创建一个TCP服务失败,这时候往往需要查看系统的网络情况,最常用的网络抓包当然非WireShark模式。但往往很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了,或者你还需要把它Kill掉。如果你在Windows操作系统,你可以使用netstat命令来查询PID,然后可以打开任务管理器,查看这个PID对应的进程名;如果PID没有显示,菜单》查看》选择列》选中PID即可;得知进程后,我们可以将进程杀掉。下面我简单描述一下我所了解的在Windows和Linux系统下处理方式。 (假如我们需要确定谁占用了我们的9010端口)

1、Windows平台
在windows控制台窗口下执行:
netstat -nao | findstr "9010"
TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017

你看到是PID为3017的进程占用了9010端口,如果进一步你想知道它的进程名称,你可以使用如下命令:

tasklist | findstr "3017"

如果你想杀死这个进程,你当然可以用前面描述的那种方法,在任务管理器里把它KILL了,但如果你喜欢高效一点,那么用taskkill命令就可以了。

taskkill /pid 3017

那么这个进程就灰灰湮灭了:)

2、Linux

如果你是个Linux爱好者,那个这个命令你应该很熟了,

netstat -pan | grep 9010

如果你稍微仔细一点,你会发现,用的都是netsta命令,事实上,netstat是一个比较通用的网络统计命令,几乎适用于所有现在流行的操作系统,无论是Linux,Window,还是其他Unix,或者Unix-like操作系统,而且用法基本一致。

下面是一个对Windows系统中netstat命令行参数的详细解释。

格式:

netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]

参数说明:

-a 显示所有连接和监听端口。
-n 以数字形式显示地址和端口号。

-o 显示与每个连接相关的所属进程 ID。

-p 在Windows系统中,该选项用于指定默认情况的子集。proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。


-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下; 包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项
可能需要很长时间,如果没有足够权限可能失败。

-e 显示以太网统计信息。此选项可以与 -s选项组合使用。


-s 显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息。

-r 显示路由表。

-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。

interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按 CTRL+C 停止重新显示统计信息。如果省略,netstat 显示当前
配置信息(只显示一次)。

分享到:
评论

相关推荐

    C#获取Windows进程监听的TCP/UDP端口实例

    1、在Windows下用CMD netstat命令可以获得当前进程监听端口号的信息,如netstat -ano可以看到IP、port、状态和监听的PID。那么可以执行CMD这个进程得到监听的端口号信息,C#代码如下: 代码如下://进程id  int pid...

    nodejs更改项目端口号的方法

    process.env.PORT=ServerConf.ServicePort;//设置端口号,不要占用了。 以上这篇nodejs更改项目端口号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    网络基本端口对应关系

    1 tcpmux TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器 2 compressnet Management Utility compressnet 管理实用程序 3 compressnet Compression Process 压缩进程 5 rje Remote Job...

    node中Express 动态设置端口的方法

    能够动态设置端口的话,调试起来会比较方便,不需要因为默认端口被占用去改代码,还可以多开。代码如下,其实没啥难度,只要你了解nodejs里的... if (isNaN(process.argv[2])) { // 如果端口号不为数字,提示格式错误

    socpipe:进程间通信的非常简单的方法

    概述 soctype提供了非常简单的进程间通信方式。...其中port是socket内部将使用的端口号,您可以设置任何您喜欢的数字。执行api.publish之后,将生成新线程并等待连接。因此,您需要防止process1 while

    python关闭占用端口方式

    我就废话不多说了,直接上代码吧! # -*- coding: UTF-8 -*- import os import re port = 8080 def kill_process(): ret = os.popen("netstat -nao|findstr " + str(port)) ... process_pid = list(ret

    node 命令方式启动修改端口的方法

    var port = process.env.PORT || 7777 app.listen(port) 命令行运行 PORT=9090 node app.js 在前面设置一下变量即可 以上这篇node 命令方式启动修改端口的方法就是小编分享给大家的全部内容了,希望能给大家一个...

    Linux FTP服务搭建

    one_process_model=YES 每个IP单一进程模式 idle_session_timeout=120 删除空闲了两分钟后的用户 data_connection_timeout=300 删除空闲了五分钟后的下载 accept_timeout=60 删除挂起了一分钟后的被动连接 connect_...

    fport

    能显示正在运行的进程,进程所用的端口号,使用通讯协议,还有所在的物理路径.

    node-jsp:node.js启动java服务,支持JSP语言开发调试

    然后在server.js中配置JSP文件路径(绝对路径)及端口号,如下: var opt = { 'port': '8090', 'root': 'D:/node-jsp-server/jsp/test', 'process': 'java', 'timeout': 3000 }; ##help $ node server --help ...

    eat-da-burger:该应用程序展示Node.js,Express,Handlebars,ORM,MySQL数据库的全栈实现,并利用几个NPM软件包

    导航到浏览器,然后输入localhost:3000 (或您首选的端口号) 设计须知 该应用程序允许用户查看存储在MySQL数据库中的“可用汉堡”和“已吞噬的汉堡”。 然后,用户可以将汉堡添加到列表中以“吞噬”。 该应用程序...

    HowToGo:交通一站式搜索平台

    怎么去运输全能搜索平台:)特征大范围的公共汽车,火车,飞机旅行,可立即搜索通过按所需时间,...在Development Server中运行bundle.js 描述要在main.js使用的端口号main.js const port = process . env . PORT || 300

    基于Nodejs开发的TCP通用物联网设备网关程序源码(已集成支持多种Modbus协议设备)+运行说明.zip

    port: 16009,//网关端口号 } ``` - 测试运行 node src/gateway_server.js - 生产运行 ```shell pm2 start econsytem.config.js ``` - 查看服务 ```shell pm2 list ``` ```shell pm2 show ``` - 监听日志 ``...

    绿色 Sql Server 原理及全新管理工具

    这是注册一个Sql Server实例所要使用的注册表,把里面的$name,$path,$port替换成你定义的实例名,当前程序所有路径,监听端口,然后导入注册表就可以了。4. 启动Sql Server iPath:=ExtractFilePath(Application....

    结构体(architecture)-计算机逻辑设计-[共3页].pdf

    计算机逻辑设计 250 port(clk, d1: in std_logic; q1: out std_logic); 对于图(b),相应的 port 语句是 port(clk, d1: in std_logic; q1: buffer std_logic; c1: out std_logic); inout 模式可以代替 in、out、...

    获取windows的所有硬件及特殊“设备”信息的动态链接库:WindowsDeviceInfo.dll

    Win32_Process,//系统进程 Win32_Thread,//系统线程 Win32_Share,//共享 Win32_NetworkClient,//已安装的网络客户端 Win32_NetworkProtocol,//已安装的网络协议 主要方法定义: // 获取Windows的“设备”名称...

    iscsi协议及实现

    将STML发来的命令数据封装成底层通讯协议数据包的格式发送到网络上或者将从网络接受到的数据包解包传递给STML 将STML和FETD分开的原因 增强程序的可重用性 STML是通用的 FETD是和底层采用的通讯协议(TCP/IP、Fibre ...

    SenchaCmd-3.1.0.192-windows.exe

    这个命令将1841端口制定为当前的访问端口,如果想停止服务就执行如下命令: sencha web stop或者ctrl+c来结束服务 想访问你的服务,只需要在浏览器中执行如下路径: http://localhost:1841 当我们访问的时候,可以...

    2009 达内Unix学习笔记

    ln 创建硬链接或软链接,硬链接=同一文件的多个名字;软链接=快捷方式 用法 ln [-f] [-n] [-s] f1 [f2] ln [-f] [-n] [-s] f1 ... fn d1 ln [-f] [-n] -s d1 d2 ln file1 file1.ln 创建硬链接。感觉是同一文件...

    基于SIP开发软件电话的一些资源(转自YOUTOO)

    C898C3C40396DC11!955.entry 2007/1/30 oSIP协议栈(及eXoSIP,Ortp等)使用入门(原创更新中) ...) 本文档最新版本及文中提到的相关源码及VC6工程文件请在本站找,嘿嘿~~ (首页的SkyDriver公开文件夹中,可能需要...

Global site tag (gtag.js) - Google Analytics