Como criar alias para matar processos em execução em uma porta TCP / IP? [duplicado]

1

O que eu tenho:

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

Problema:

Correndo, e. O killport 8000 parece não funcionar, no entanto. No entanto, simplesmente executando ...

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

... funciona. Eu não consigo descobrir onde estou bagunçando.

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

    
por Brian Peterson 27.09.2013 / 23:23

1 resposta

2

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

killport(){ 

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

}

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

source  ~/.bashrc

E você está pronto

HTH

    
por 28.09.2013 / 01:54

Tags