bash script para fechar uma porta

0

Alguém pode verificar o que estou fazendo errado aqui:

killp() {sudo kill $(sudo lsof -t -i:"$@"); l; }

Eu quero generalizar este caso para qualquer porta.

sudo kill $(sudo lsof -t -i:22)
    
por el347 04.04.2017 / 02:35

3 respostas

0

Eu também descobri. meio. Trabalho.

killp() {sudo kill $(sudo lsof -t -i:"$@")}

Eu tinha um alias personalizado para l ( alias l="LC_COLLATE=C ls -gAG -x -1 --group-directories-first --sort=extension" ), o que é desnecessário aqui.

    
por el347 04.04.2017 / 02:53
0

"$@" expande para todos os parâmetros da função, como palavras separadas. Em seguida, killp 22 33 seria expandido para ...lsof -t -i:22 33 , que pode ou não ser o que você deseja. Se não estiver, use apenas "$1" para obter apenas o primeiro argumento.

Algo como -sTCP:LISTEN também pode ser útil se você quiser fechar uma porta de escuta (servidor) e não conexões de saída.

    
por ilkkachu 04.04.2017 / 18:05
0

Algo parecido com isto,

killp () {
  sudo kill 'lsof -t -i:$*'
}
    
por Nick Rodriguez 04.04.2017 / 02:45