如何创建别名来终止 TCP/IP 端口上运行的进程?

如何创建别名来终止 TCP/IP 端口上运行的进程?

我拥有的:

alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'

问题:

不过,运行egkillport 8000似乎不起作用。然而,简单地运行...

sudo kill -9 `sudo fuser -n tcp 8000 2> /dev/null` 

...确实有效。我不明白我哪里搞砸了。

据我所知,工作版本和非工作版本之间的主要区别是别名版本涉及一个变量,并由 shell 为我执行......但也许有人以前见过这种问题并且知道就在哪里看。

答案1

您应该使用函数而不是别名,因为别名不支持参数,请进行类似的操作:

killport(){ 

sudo kill -9 $(sudo fuser -n tcp $1 2> /dev/null);

}

现在将此函数放入 bash 配置文件中,例如 ~/.bashrc,然后运行:

source  ~/.bashrc

你就完成了

华泰

相关内容