You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:为指定TCP端口进程查询命令设置Bash别名(尝试方案无效)

实现查询指定端口进程的Bash快捷命令

你之前的别名写法无效,是因为Bash别名不支持位置参数($1这类变量)——别名只是简单的字符串替换,不会解析参数传递,所以当你执行p2p 5432/tcp时,$1并不会被替换成输入的端口,导致fuser命令无法正确运行。

正确的做法是用shell函数替代别名,函数支持参数传递,具体配置如下:

  1. 打开你的Bash配置文件(比如~/.bashrc或~/.bash_profile),添加以下函数:
p2p() {
    ps -u -p $(fuser "$1" 2>/dev/null)
}
  1. 保存文件后,执行以下命令让配置生效:
source ~/.bashrc

之后你就可以直接用p2p 5432/tcp来查询占用指定端口的进程信息了,效果和原命令完全一致。

如果想增强函数的健壮性,比如处理未输入参数的情况,可以修改成:

p2p() {
    if [ -z "$1" ]; then
        echo "请指定要查询的端口(格式示例:5432/tcp)"
        return 1
    fi
    ps -u -p $(fuser "$1" 2>/dev/null)
}

内容的提问来源于stack exchange,提问作者Fernando Fabreti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:54:41