进程,服务,端口

来源:互联网 发布:易企秀制作软件 编辑:程序博客网 时间:2024/04/30 12:46

一、进程,服务,端口的关系

进程:运行的程序,通过API从操作系统取得各种服务。

服务:通常,服务是一个向应用程序和其他服务(本地和远程)提供一系列功能的实体。服务依赖于隐式声明的本地服务列表。在电脑中,需要各种服务支持各种功能。网络服务需要打开至少一个端口。

端口:如果进程需要进行网络通信,就要取得网络服务,从而必须要打开某些端口。


二、不同平台下查看打开端口的进程,及端口上运行的服务

【Windows】

1、命令行下,执行 netstat -ano|findstr "端口号",查询占用该端口进程的pid;

2、命令行下,执行 tasklist|findstr "pid",查询该pid是哪个进程;或直接打开任务管理器查看;


【linux】

方法一:

执行 lsof -i:端口号,查询占用该端口进程及其pid;


方法二:

netstat -anp|grep 端口号 查出占用端口的进程号

ps -ef|grep 进程号 查处该进程号对应的进程


【solaris】

方法一:

1、使用下面shell script,先建立一个port.sh文件:


# more /tmp/port.sh
#!/bin/sh


for pid in `ls /proc`
do
pf=`/usr/bin/pfiles $pid 2>/dev/null`
if echo $pf | grep $1 > /dev/null 2>&1
then
echo $pid
/usr/bin/pargs $pid
fi
done


2、运行port.sh, 传入端口号,比如60129:
# /tmp/port.sh 60129


3、查看运行结果。也可用 pfiles pid 或者 pargs pid查看详细信息。


其实实质就是先用 ls /proc 列举出所有进程号,再用pfiles 进程号|grep 端口号 ,依次判断。


方法二:

最简单的方法,就是在/proc目录下,执行 pfiles *|grep 端口号