查看端口是否有进程启动

当一个程序明明启动了,但是访问出错

或者程序明明没问题,却启动不了

一种方式是应该检查端口是否被占用,

linux查看端口状况的命令: netstat

netstat --tunlp

netstat -aon

但是Mac系统这个命令不能用,

可以使用lsof

lsof -nP -i:8000

lsof -i tcp:8000

 

在 Linux 系统中,查看指定端口对应启动进程可以使用多种命令,包括 `fuser`、`lsof` 和 `ss` 等。 ### 使用 `fuser` 命令 `fuser` 命令可以显示使用指定端口进程 ID。基本用法如下: ```bash fuser <端口号>/tcp ``` 例如,要查看使用端口 `8099` 的进程 ID,可以运行: ```bash fuser 8099/tcp ``` 此命令将打印出占用该端口进程 ID。[^3] --- ### 使用 `lsof` 命令 `lsof` 是一个功能强大的工具,可以列出当前系统中打开的文件和网络连接。要查找特定端口启动进程,可以使用以下命令: ```bash lsof -i :<端口号> ``` 例如,查找占用端口 `8099` 的进程: ```bash lsof -i :8099 ``` 该命令将显示与指定端口相关的进程信息,包括进程名称、进程 ID、用户等详细信息。[^3] --- ### 使用 `ss` 命令 `ss`(Socket Statistics)命令可以用来查看网络连接、路由表、接口统计等信息。虽然 `ss` 本身不直接显示进程信息,但结合 `ps` 命令可以获取更多细节。例如: ```bash ss -tulnp | grep :<端口号> ``` 例如,查询端口 `8099` 的连接状态: ```bash ss -tulnp | grep :8099 ``` 该命令将显示与端口 `8099` 相关的网络连接及其对应进程 ID 和名称。[^1] --- ### 使用 `netstat` 命令(已逐渐淘汰) 尽管 `netstat` 命令在现代 Linux 系统中已逐渐被 `ss` 替代,但仍可使用以下命令查看端口占用情况: ```bash netstat -tulnp | grep :<端口号> ``` 例如,查看端口 `8099` 的占用情况: ```bash netstat -tulnp | grep :8099 ``` 此命令将列出监听的端口以及对应进程 ID 和名称。[^1] --- ### 脚本化自动化查询 为了避免反复输入命令,可以编写一个简单的脚本来自动化查询指定端口进程信息。以下是一个示例脚本: ```bash #!/bin/bash PORT=$1 echo "查找端口 $PORT 的进程信息..." echo "使用 fuser 查询:" fuser $PORT/tcp echo -e "\n使用 lsof 查询:" lsof -i :$PORT echo -e "\n使用 ss 查询:" ss -tulnp | grep :$PORT ``` 保存为 `find_port.sh`,并赋予执行权限: ```bash chmod +x find_port.sh ``` 然后运行脚本并传入端口号参数: ```bash ./find_port.sh 8099 ``` 此脚本将依次使用 `fuser`、`lsof` 和 `ss` 查询指定端口进程信息。[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值