Linux: processo de eliminação em porta específica

5

Como matar um processo se sua porta é conhecida? Por exemplo, se um processo está sendo executado na porta 12345 , então como ele pode ser terminado no linux / ubuntu.

    
por user2823345 07.10.2013 / 13:27

2 respostas

9

Você pode usar

sudo netstat -tupln

para mostrar o que está escutando em qual porta. Você deve ver algo semelhante a isso (simplifiquei um pouco a saída).

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2472/apache2

Essa quarta coluna (0.0.0.0:80 no meu exemplo) mostrará o número da porta (80 aqui) e a coluna final (2472 / apache2) mostrará o PID (2472).

Você pode então emitir

sudo kill -15 PID

onde o PID é o PID que encontramos com o comando anterior. Isso enviará o SIGTERM ao processo. Se isso falhar, talvez seja necessário

sudo kill -9 PID

mas isso geralmente é uma maneira menos amigável de matar o processo. Para mais informações, você deve fazer o checkout

man kill
    
por 07.10.2013 / 14:24
1
  1. listar todas as portas de escuta:

    netstat -antu

  2. pegue o correspondente, digamos 80 e mate-o usando isto:

    kill -9 $( lsof -i:80 -t )

por 08.09.2015 / 12:01