Como criar um alias para encerrar processos em execução em uma porta TCP/IP?

Como criar um alias para encerrar processos em execução em uma porta TCP/IP?

O que eu tenho:

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

Problema:

Correr, por exemplo, killport 8000não parece funcionar. No entanto, simplesmente executando...

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

... Funciona. Não consigo descobrir onde estou errando.

A principal diferença entre as versões funcionais e não funcionais, pelo que posso ver, é que a versão com alias envolve uma variável e é executada pelo shell para mim.... Mas talvez alguém já tenha visto esse tipo de problema antes e saiba exatamente onde procurar.

Responder1

Você deve usar uma função em vez de um alias, porque os aliases não suportam parâmetros, faça algo assim:

killport(){ 

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

}

Agora coloque esta função em seu arquivo de configuração bash, por exemplo, ~/.bashrc e então execute:

source  ~/.bashrc

E você terminou

HTH

informação relacionada