精华内容
下载资源
问答
  • AIX 系统端口对应进程

    千次阅读 2012-06-19 09:13:52
    因为AIX系统中的netstat命令不能直接打印出端口对应的进程。所以刚接触AIX的新手往往不知道如何查询端口对应的进程号,下面介绍两种方法来查询端口对应进程号。   一、使用rmsock命令和netstat命令查询: 对于...

    AIX 系统端口对应进程号
    在AIX系统中查询端口对应的进程不像linux那么方便。因为AIX系统中的netstat命令不能直接打印出端口对应的进程。所以刚接触AIX的新手往往不知道如何查询端口对应的进程号,下面介绍两种方法来查询端口对应进程号。
     
    一、使用rmsock命令和netstat命令查询:
    对于netstat命令比较常用,而对于rmsock比较陌生,下面简单介绍一下rmsock命令以及查询端口对应进程号的过程。
    1、   rmsock命令:
    rmsock除去不包含文件描述符的套接字。它接受 socket、tcpcb、inpcb、ripcb 或 rawcb 地址并将其转换成套接字地址。然后检查每个进程所有打开的文件以查找套接字的匹配。如果没找到匹配,对该套接字执行异常终止操作,而不考虑套接字 linger 选项的存在。套接字保留的端口号释放。如果发现匹配,文件描述符和主进程状态显示给用户。结果发送到 syslogd 并在 /var/adm/rmsock.log 文件中记录。
             命令格式:rmsock  Address  TypeofAddress
    2、举例说明端口对于进程查询。
         (1)、先使用netstat命令查看端口系统内核地址(16进制),如查看ssh 22端口的进程。
                     # netstat –Aan |grep 22

    其中:
    f100070002d82bb0  tcp4    0    0 *.22             *.*                LISTEN
    行为侦听端口22端口相关信息,f100070002d82bb0为系统内核地址。

                 (2)、调用rmsock命令查看该端口对应的进程号:
                             # rmsock f100070002d82bb0 tcpcb
                            The socket 0x2d82808 is being held by proccess 106930 (sshd)  ---显示端口22的进程号为106930。
                            这样就查出了端口对应的系统进程号。
     
    二、通过lsof 命令查看端口对应的进程号。
    # lsof –i :22

    其中
    sshd    107084 root    3u IPv4 0xf100070000a3a3b0      0t0 TCP *:ssh (LISTEN)
    行为侦听端口22端口相关信息,第二列(PID)107084为端口22的系统进程号。

    展开全文
  • 删除端口对应进程

    2014-10-10 23:47:03
    今天在安装nginx出现了一个80端口被占用到错误,

    今天在安装nginx出现了一个80端口被占用到错误,于是查资料,知道了下面两个相关命令。

    1、netstat,它是用来显示网络有关信息

    查找80端口,使用如下命令:

    netstat -pan | grep :80

    这样就可以查出80端口被哪个进程使用,然后就可以找出对应到PID,使用kill杀死;不过,我在这里遇到个特殊情况,特意记录一下,就是我使用netstat和lsof查看到80端口对应到进程,杀死之后,然后使用sudo /usr/local/nginx/sbin/nginx仍然没法启动nginx,仍然报错说80端口已经被占用。后来查资料才知道,应该是系统中其他用户占用了80端口,使用sudo netstat -pan | grep :80,这时发现原来是apache占用了此端口,杀死,启动nginx,OK,欢迎界面出来了。

    2、lsof 列出当前文件系统打开到工具,功能非常强大

    查看80端口被占用情况,使用如下命令:

    lsof -i 80

    如netstat一样,也能查看80端口被哪个进程占用

    展开全文
  • 查询端口号和对应进程

    千次阅读 2014-06-26 14:16:29
    查询端口号和对应进程 一、根据进程查端口号  首先在开始菜单的“运行”框中输入“cmd.exe”进入命令提示符窗口,先键入“tasklist”命令将列出系统正在运行的进程列表,把你要查的进程所对应的“PID”号记下...

    原文转载至:http://hi.baidu.com/linkinperk/item/9d365ebe2535d4412bebe36a

    查询端口号和对应进程

    一、根据进程查端口号
      首先在开始菜单的“运行”框中输入“cmd.exe”进入命令提示符窗口,先键入“tasklist”命令将列出系统正在运行的进程列表,把你要查的进程所对应的“PID”号记下或复制。
      
      小资料:单击右键菜单中的标记,然后将你要查的进程对应的“PID”号选中,按一下“回车”键就可以了。需要注意的是,相同的进程 图像名 每次运行的“PID”号一般都不会相同,所以一旦该进程重启后,该“PID”号就会改变,这就需要重新查看。
      
      把进程的PID号记下后,接下来就用这个PID号把该进程所开的端口显示出来了。
      
      在当前的命令符下继续键入“netstat -ano | findstr 1140”命令,其中“netstat -ano”参数表示以数字形式显示所有活动的TCP连接以及计算机正在侦听的TCP、UDP端口 并且显示对应的进程ID PID 号; “|findstr 1140”表示查找进程PID为“1140”的TCP连接以及TCP、UDP端口的侦听情况(在实际应用中,需要把你刚才记下或复制的PID号替换掉这里的1140)。按“回车”键后,就会显示出该进程所开的端口号。
      从图1中我们可以明显地看出,PID为“1140”的进程所开启的端口为“3001”,如果此时没有任何提示信息返回,则说明该进程没有开启任何端口。


    二、根据端口号查进程
      在命令提示符窗口中输入“netstat -ano”命令,列出系统当前的端口列表,该命令的作用已在上面提过了。-o参数的作用主要是显示各端口对应的进程PID号,现在把你要查的端口对应的进程PID号记下或复制。然后在命令提示符下继续输入“tasklist /fi ″PID eq 788 ″”(在实际应用中,需要把你复制或记下的PID号替换掉这里的788),这行语句“/fi”参数表示在“tasklist”中筛选,而“PID eq 788”则是指定筛选的条件,按“回车”键后,就会显示出端口对应的进程。
      
      可以看出,PID号为“788”所对应的进程为“svchost.exe”,如果你查的端口没有关联任何进程的话,此时就会返回“没有运行带有指定标准的任务”的提示信息。   



    展开全文
  • lsof 查看端口对应进程号详解

    千次阅读 2013-09-01 16:49:46
    lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 ...

    http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316599.html

    简介

    lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

     

    输出信息含义

    在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

    直接输入lsof部分输出为:

    复制代码
    COMMAND     PID        USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
    init          1        root  cwd       DIR                8,1     4096          2 /
    init          1        root  rtd       DIR                8,1     4096          2 /
    init          1        root  txt       REG                8,1   150584     654127 /sbin/init
    udevd       415        root    0u      CHR                1,3      0t0       6254 /dev/null
    udevd       415        root    1u      CHR                1,3      0t0       6254 /dev/null
    udevd       415        root    2u      CHR                1,3      0t0       6254 /dev/null
    udevd       690        root  mem       REG                8,1    51736     302589 /lib/x86_64-linux-gnu/libnss_files-2.13.so
    syslogd    1246      syslog    2w      REG                8,1    10187     245418 /var/log/auth.log
    syslogd    1246      syslog    3w      REG                8,1    10118     245342 /var/log/syslog
    dd         1271        root    0r      REG                0,3        0 4026532038 /proc/kmsg
    dd         1271        root    1w     FIFO               0,15      0t0        409 /run/klogd/kmsg
    dd         1271        root    2u      CHR                1,3      0t0       6254 /dev/null
    复制代码

    每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。

    lsof输出各列信息的意义如下:

    COMMAND:进程的名称 PID:进程标识符

    USER:进程所有者

    FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等

    DEVICE:指定磁盘的名称

    SIZE:文件的大小

    NODE:索引节点(文件在磁盘上的标识)

    NAME:打开文件的确切名称


    FD 列中的文件描述符cwd 值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改,txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。

    其次数值表示应用程序的文件描述符,这是打开该文件时返回的一个整数。如上的最后一行文件/dev/initctl,其文件描述符为 10。u 表示该文件被打开并处于读取/写入模式,而不是只读 ® 或只写 (w) 模式。同时还有大写 的W 表示该应用程序具有对整个文件的写锁。该文件描述符用于确保每次只能打开一个应用程序实例。初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的 FD 都是从 3 开始。

    与 FD 列相比,Type 列则比较直观。文件和目录分别称为 REG 和 DIR。而CHR 和 BLK,分别表示字符和块设备;或者 UNIX、FIFO 和 IPv4,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。

     

    常用参数

    lsof语法格式是:
    lsof [options] filename

    复制代码
    lsof abc.txt 显示开启文件abc.txt的进程
    lsof -c abc 显示abc进程现在打开的文件
    lsof -c -p 1234 列出进程号为1234的进程所打开的文件
    lsof -g gid 显示归属gid的进程情况
    lsof +d /usr/local/ 显示目录下被进程开启的文件
    lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
    lsof -d 4 显示使用fd为4的进程
    lsof -i 用以显示符合条件的进程情况
    lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
      46 --> IPv4 or IPv6
      protocol --> TCP or UDP
      hostname --> Internet host name
      hostaddr --> IPv4地址
      service --> /etc/service中的 service name (可以不止一个)
      port --> 端口号 (可以不止一个)
    复制代码



    lsof使用实例

    查找谁在使用文件系统


    在卸载文件系统时,如果该文件系统中有任何打开的文件,操作通常将会失败。那么通过lsof可以找出那些进程在使用当前要卸载的文件系统,如下:
    # lsof /GTES11/
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    bash 4208 root cwd DIR 3,1 4096 2 /GTES11/
    vim 4230 root cwd DIR 3,1 4096 2 /GTES11/
    在这个示例中,用户root正在其/GTES11目录中进行一些操作。一个 bash是实例正在运行,并且它当前的目录为/GTES11,另一个则显示的是vim正在编辑/GTES11下的文件。要成功地卸载/GTES11,应该在通知用户以确保情况正常之后,中止这些进程。 这个示例说明了应用程序的当前工作目录非常重要,因为它仍保持着文件资源,并且可以防止文件系统被卸载。这就是为什么大部分守护进程(后台进程)将它们的目录更改为根目录、或服务特定的目录(如 sendmail 示例中的 /var/spool/mqueue)的原因,以避免该守护进程阻止卸载不相关的文件系统。

     

    恢复删除的文件


    当Linux计算机受到入侵时,常见的情况是日志文件被删除,以掩盖攻击者的踪迹。管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志。有时可以通过lsof来恢复这些文件。
    当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录索引节点。
    在/proc 目录下,其中包含了反映内核和进程树的各种文件。/proc目录挂载的是在内存中所映射的一块区域,所以这些文件和目录并不存在于磁盘中,因此当我们对这些文件进行读取和写入时,实际上是在从内存中获取相关信息。大多数与 lsof 相关的信息都存储于以进程的 PID 命名的目录中,即 /proc/1234 中包含的是 PID 为 1234 的进程的信息。每个进程目录中存在着各种文件,它们可以使得应用程序简单地了解进程的内存空间、文件描述符列表、指向磁盘上的文件的符号链接和其他系统信息。lsof 程序使用该信息和其他关于内核内部状态的信息来产生其输出。所以lsof 可以显示进程的文件描述符和相关的文件名等信息。也就是我们通过访问进程的文件描述符可以找到该文件的相关信息。
    当系统中的某个文件被意外地删除了,只要这个时候系统中还有进程正在访问该文件,那么我们就可以通过lsof从/proc目录下恢复该文件的内容。 假如由于误操作将/var/log/messages文件删除掉了,那么这时要将/var/log/messages文件恢复的方法如下:
    首先使用lsof来查看当前是否有进程打开/var/logmessages文件,如下:
    # lsof |grep /var/log/messages
    syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted)
    从上面的信息可以看到 PID 1283(syslogd)打开文件的文件描述符为 2。同时还可以看到/var/log/messages已经标记被删除了。因此我们可以在 /proc/1283/fd/2 (fd下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息,如下:
    # head -n 10 /proc/1283/fd/2
    Aug 4 13:50:15 holmes86 syslogd 1.4.1: restart.
    Aug 4 13:50:15 holmes86 kernel: klogd 1.4.1, log source = /proc/kmsg started.
    Aug 4 13:50:15 holmes86 kernel: Linux version 2.6.22.1-8 (root@everestbuilder.linux-ren.org) (gcc version 4.2.0) #1 SMP Wed Jul 18 11:18:32 EDT 2007 Aug 4 13:50:15 holmes86 kernel: BIOS-provided physical RAM map: Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 0000000000000000 - 000000000009f000 (usable) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 0000000000100000 - 000000001f7d3800 (usable) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 000000001f7d3800 - 0000000020000000 (reserved) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 00000000e0000000 - 00000000f0007000 (reserved) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved)
    从上面的信息可以看出,查看 /proc/8663/fd/15 就可以得到所要恢复的数据。如果可以通过文件描述符查看相应的数据,那么就可以使用 I/O 重定向将其复制到文件中,如:
    cat /proc/1283/fd/2 > /var/log/messages
    对于许多应用程序,尤其是日志文件和数据库,这种恢复删除文件的方法非常有用。

     

    实用命令

    复制代码
    lsof `which httpd` //那个进程在使用apache的可执行文件
    lsof /etc/passwd //那个进程在占用/etc/passwd
    lsof /dev/hda6 //那个进程在占用hda6
    lsof /dev/cdrom //那个进程在占用光驱
    lsof -c sendmail //查看sendmail进程的文件使用情况
    lsof -c courier -u ^zahn //显示出那些文件被以courier打头的进程打开,但是并不属于用户zahn
    lsof -p 30297 //显示那些文件被pid为30297的进程打开
    lsof -D /tmp 显示所有在/tmp文件夹中打开的instance和文件的进程。但是symbol文件并不在列
    
    lsof -u1000 //查看uid是100的用户的进程的文件使用情况
    lsof -utony //查看用户tony的进程的文件使用情况
    lsof -u^tony //查看不是用户tony的进程的文件使用情况(^是取反的意思)
    lsof -i //显示所有打开的端口
    lsof -i:80 //显示所有打开80端口的进程
    lsof -i -U //显示所有打开的端口和UNIX domain文件
    lsof -i UDP@[url]www.akadia.com:123 //显示那些进程打开了到www.akadia.com的UDP的123(ntp)端口的链接
    lsof -i tcp@ohaha.ks.edu.tw:ftp -r //不断查看目前ftp连接的情况(-r,lsof会永远不断的执行,直到收到中断信号,+r,lsof会一直执行,直到没有档案被显示,缺省是15s刷新)
    lsof -i tcp@ohaha.ks.edu.tw:ftp -n //lsof -n 不将IP转换为hostname,缺省是不加上-n参数
    展开全文
  • Windows中关闭端口对应的服务进程

    千次阅读 2018-03-28 08:25:45
    关闭端口对应的服务进程1:通过dos命令查找该端口号对应的PID输入命令netstat -nao将列出所有的端口号及进程IDC:\Documents and Settings\Administrator>netstat -naoActive Connections Proto Local ...
  • windows 杀死端口对应进程

    千次阅读 2019-04-08 10:24:15
    netstat -ano | findstr 61616 //列出进程极其占用的端口,且包含 80 tasklist | findstr 21884 taskkill -PID 21884 -F //强制关闭某个进程
  • -ano,列出所有端口的情况 步骤三、查询指定的端口占用 在窗口中,继续输入【netstat -aon|findstr "提示的端口"】,比如我要找20883的端口;即PID为18316 步骤四、查询PID对应的进行进程
  • 2、输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是49157,首先找到它。 3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr “49157”,回车,记下最后一位数字,即...
  • linux下查看监听端口对应进程

    千次阅读 2017-10-23 10:27:49
     6) -i6 : 仅示IPv6协议下的端口。  方法二  1.使用netstat查看进程PID  [root@test ~]# netstat -anp|grep 5001  tcp 0 0 :::5001 :::* LISTEN 12886/java  2.使用ps查看进程情况  ...
  • 1. Solaris 10及一些系统补丁的安装日志...2. 用户登录日志可以使用last命令列出3. a) netstat -na | grep -i listen通常可以看到目前系统侦听的端口号 b) netstat -f inet 和 netstat -f inet6可以看到目前所建立的
  • 1.ps -ef显示所有进程ID 2.netstat才显示端口号情况
  • Windows中杀死占用某个端口进程

    万次阅读 多人点赞 2013-07-22 12:10:44
    启动tomcat时候,控制台报错,发现是端口占用,于是寻找方法关闭对应的程序。...netstat -ano | findstr 80 //列出进程极其占用的端口,且包含 80  结果如下: 发现 8081 端口被 PID(进程号)为
  • 端口进程

    2017-03-13 10:44:23
    windows下 一.查看windows系统端口号: netstat -abnov 1)windows查看3030端口号被占用的进程 第一步:netstat -aon|findstr 3030 结果:  PID  TCP 0.0.0.0:
  • 查询端口对应的程序

    2015-04-30 15:22:43
    在最后一中看到,端口号9181对应进程ID是8064 。3、通过进程ID,查看进程名称。tasklist|findstr “8064” 。如下图所示: (也可以在任务管理器找到PID对应进程进行删除) 本文转载自:http://j
  • linux-centos 查看进程对应端口

    千次阅读 2021-01-28 15:03:43
    -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令。 提示:LISTEN和...
  • 1. ps -ef|grep java 查看进程 超级使用命令 2.netstat -anp|grep ...lsof的作用是列出当前系统打开文件(list open files),不过通过-i参数也能查看端口的连接情况,-i后跟冒号端口可以查看指定端口信息,直接-...
  • 启动tomcat时候,控制台报错,发现是端口占用,于是寻找方法关闭对应的程序。 ...netstat -ano | findstr 80 //列出进程极其占用的端口,且包含 80 结果如下: 发现 8081 端口被 PID(进程号)为...
  • 输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是8889,首先找到它;查看被占用端口对应的PID,输入命令:netstat -aon|findstr "8889",回车,记下最后一位数字,即...
  • mac下面查看端口占用进程情况

    千次阅读 2019-01-14 20:29:04
    在linux下面有netstat可以查看指定端口被哪些进程占用,但是mac下面就不好用了,看不到进程号。...lsof是列出打开的文件命令,更多的用法可以参考: https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/ls...
  • Window根据端口号杀进程
  • netstat -anp |grep pid进程号 这个命令可以通过进程pid号来查看对应的监听的端口号root@zabbixclient:~/python# netstat -anp |grep 53298tcp6 0 0 :::3306 ::: LISTEN 53298/mysqld u...
  • window 中杀死占用某个端口号的进程

    千次阅读 2018-11-20 14:40:09
    netstat -ano | findstr 80 //列出进程及其占用的端口,并且包含80 发现8080端口被PID(进程号)为952的进程占用   第二步, 据进程号寻找进程名称 根据进程号从人物管理器正查找改程序,手动杀死。...
  • Linux端口占用是个常见的问题,此时需要排查占用端口的相关程序,以下总结了几种方法。涉及到一些简单地命令,如netstat,ps,lsof等。 下面以为50070端口为例,此时要查询端口情况。 方法1.快速定位程序,输入lsof -i...
  • Windows中根据端口号杀死进程

    千次阅读 2018-07-05 14:12:27
    netstat -ano | findstr 5000 //列出进程极其占用的端口,且包含 5000 2、根据进程id强制关闭进程 taskkill -PID <进程号> -F //强制关闭某个进程 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,787
精华内容 30,714
关键字:

列出所有端口对应进程