linux查看进程及端口
A. linux怎么查看端口进程
Netstat是linux下一个监控TCP/IP网络非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat 参数
-a或–all显示所有连线中的Socket。
-A<网络类型>或–<网络类型>列出该网络类型连线中的相关地址。
-c或–continuous持续列出网络状态。
-C或–cache显示路由器配置的快取信息。
-e或–extend显示网络其他相关信息。
-F或–fib显示FIB。
-g或–groups显示多重广播功能群组组员名单。
-h或–help在线帮助。
-i或–interfaces显示网络界面信息表单。
具体参考:网页链接
B. linux查看进程占用端口
以80端口为例
netstat -nltup|grep 80 即可查看到80端口相应的进程及PID
C. Linux可是怎么查看各个运行的进程占用的端口
ps命令可以用来查找进程;
在终端上输入:ps
aux
|
grep
+过滤字符串
例如:我们想查找一个叫streamclient的程序,则输入:ps
aux
|
grep
streamclient
如果系统列出该进程,则找到了;
在runtime上,可以用该命令确定哪台计算机是主机,因为主机上有一个叫iosys的进程;
因此,输入:ps
aux
|
grep
iosys
并按回车,如果系统列出该进程,则该机就是主机。
D. linux查看运行的端口命令
一、使用 netstat 检查端口
netstat 是一个命令行工具,可以提供有关网络连接的信息。
要列出正在侦听的所有 TCP 或 UDP 端口,包括使用端口和套接字状态的服务,请使用以下命令:
netstat -tunlp
此命令中使用的选项具有以下含义:
-t - 显示 TCP 端口。
-u - 显示 UDP 端口。
-n - 显示数字地址而不是主机名。
-l - 仅显示侦听端口。
-p - 显示进程的 PID 和名称。仅当您以 root 或 sudo 用户身份运行命令时,才会显示此信息。
查询指定端口通过grep过滤:
netstat -tnlp | grep :80
二、使用 ss 检查端口
ss 是新的 netstat,命令选项大致相同。它缺少一些 netstat 功能,但暴露了更多的 TCP 状态,而且速度稍快。《Linux就该这么学》 一起学习linux
使用示例:ss -tunlp
三、使用 lsof 检查端口
lsof 是一个功能强大的命令行实用程序,它提供有关进程打开的文件的信息。
在 Linux 中,一切都是文件,可以将套接字视为写入网络的文件。
要使用 lsof 获取所有侦听 TCP 端口的列表:
lsof -nP -iTCP -sTCP:LISTEN
使用的选项如下:
-n - 不要将端口号转换为端口名称。
-p - 不要解析主机名,显示数字地址。
-iTCP -sTCP:LISTEN - 仅显示 TCP 协议状态为 LISTEN 的网络文件。
要查找正在侦听特定端口(例如 3306)的进程,请使用以下命令:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
E. linux 怎么查看程序的端口
使用lsof命令
具体方法:
lsof
-i
:port_number
|grep
"(LISTEN)"
-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否
有程序占用了oracle的监听端口1521,就可以使用lsof
-i
:1521
|grep
"(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。
如果只有losf
-i
:port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep
"(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。
F. linux如何查看端口
x使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询
netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -ntulp | grep 3306 //查看所有3306端口使用情况·
Linux查看程序端口占用情况
使用命令:
ps -aux | grep tomcat
发现并没有8080端口的Tomcat进程。
使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name
发现8080端口被PID为9658的java进程占用。
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!
方法二:直接使用 netstat -anp | grep portno
即:netstat -anp|grep 8080
netstat -anp|grep 8080 --> tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 28500/java
ps -aux | grep 28500 --> r/local/tomcat9-jforum/tomcat
安装lsof list open files//---也可以 netstat -tunlp|grep 端口号 netstat -anp|grep 端口号
yum install lsof
lsof -i:8080 查看8080端口占用
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 -i //显示所有打开的端口
lsof -i:80 //显示所有打开80端口的进程
lsof -i -U //显示所有打开的端口和UNIX domain文件
其实我一般这样用:
[root@VM_39_230_centos bin]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN)
mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED)
mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED)
mysql
G. linux 如何查看服务和端口
netstat/lsof
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
-a显示一个所有的有效连接信息列表(包括已建立的连接,也包括监听连接请求的那些连接)
-n显示所有已建立的有效连接
-ttcp协议
-uudp协议
-l查询正在监听的程序
-p显示正在使用socket的程序识别码和程序名称
例如:netstat-ntupl|grepprocessname
如何只查询tomcat的连接?
netstat-na|grepESTAB|grep80|wc-l
netstat-na|grepESTAB|grep8080|wc-l
常用端口介绍:
端口:21
服务:FTP服务器所开放的端口,用于上传、下载。
端口:22
服务:ssh
端口:80
服务:HTTP用于网页浏览
端口:389
服务:LDAPILS轻型目录访问协议和
端口:443
服务:网页浏览端口能提供加密和通过安全端口传输的另一种HTTP
端口:8080
服务:代理端口
打开终端,执行如下命令,查看各进程占用端口情况:
#ps-ef|wc-l//查看后台运行的进程总数
#ps-fucsvn//查看csvn进程
#netstat-lntp//查看开启了哪些端口
#netstat-r//本选项可以显示关于路由表的信息
#netstat-a//本选项显示一个所有的有效连接信息列表
#netstat-an|grep8080
#netstat-na|grep-ilisten//可以看到目前系统侦听的端口号
#netstat-antup//查看已建立的连接进程,所占用的端口。
netstat-anp|grep1487
lsof-i:1487
H. linux 怎么查看进程端口占用
有时候需要查看一个进程占用了那个端口,但是只知道进程大致的名称,比如要查看Hadoop的namenode在哪个端口上运行,以便在eclipse中连接。一种方法如下,可能比较搓,请大牛指教!
首先用ps命令查看进程的id:
[html] view plain
$ ps -ef | grep Name
其中每一行(很长的时候会占用若干行)的第二个字段就是进程的id。
当然,对于在Java虚拟机中运行的进程,比如hadoop的守护进程,可以直接用jsp命令查看:
[html] view plain
$ jps | grep Name
或者已经知道进程的确切名称,可以用pidof查看:
[html] view plain
$ pidof Name
查看到进程id之后,使用netstat命令查看其占用的端口:
[html] view plain
$ netstat -nap | grep pid
I. linux如何查看端口被哪个进程占用
使用netstat 和lsof命令,并用grep来过滤你需要查看的端口。
例如查看tcp有哪些端口打开了:
netstat-a|greptcp
然后查看哪个进程占用了这些端口:
lsof-i
如果要查看某个端口,比如80端口是哪个进程:
lsof-i|grep:80