Executando verificação de segurança...
3

Como matar um processo no ubuntu?

Fala meu povo!

"Espero que hoje seja um dia melhor que ontem e pior que amanhã".

Obs: esse tutorial foi criado baseando-se no Ubuntu 22.04.1 LTS.

Como faço para matar aquele processo indesejado que está rodando loucamente no meu SO impedindo a execução de um serviço em uma determinada porta.

Uso esse comando abaixo para verificar qual serviço está sendo executado passando o valor da porta para sport

sudo ss -lptn 'sport = :5432'

o SO irá retornar algo semelhante a isso aqui:

State                Recv-Q                Send-Q                               Local Address:Port                               Peer Address:Port               Process                                           
LISTEN               0                     244                                        0.0.0.0:5432                                    0.0.0.0:*                   users:(("postgres",pid=1260,fd=3))               
LISTEN               0                     244                                           [::]:5432                                       [::]:*                   users:(("postgres",pid=1260,fd=4)) 

Por fim, verifico qual o id do pid está sendo informado na coluna process e troco pid pelo id do processo.

sudo kill <pid>
sudo kill 1260 #no caso desse exemplo aqui.

Esse comando já me salvou várias vezes!

Gostou? Me conta ai nos comentários como que você faz na sua máquina.

Beijos :)

Carregando publicação patrocinada...
2

Você também pode usar:

sudo lsof -n -i :80 | grep LISTEN

Cuja saída é algo do tipo:

apache2   1284     root    3u  IPv6  46390      0t0  TCP *:http (LISTEN)
apache2 121757 www-data    3u  IPv6  46390      0t0  TCP *:http (LISTEN)
apache2 121758 www-data    3u  IPv6  46390      0t0  TCP *:http (LISTEN)
apache2 121759 www-data    3u  IPv6  46390      0t0  TCP *:http (LISTEN)
apache2 121760 www-data    3u  IPv6  46390      0t0  TCP *:http (LISTEN)
apache2 121761 www-data    3u  IPv6  46390      0t0  TCP *:http (LISTEN)

O PID do processo é a segunda coluna. Então você pode adicionar mais alguns comandos para matar todos diretamente:

sudo lsof -n -i :80 | grep LISTEN | awk '{print $2}' | xargs sudo kill -9

No caso, awk '{print $2}' imprime somente a segunda coluna (que serão os PID's), e xargs passa eles como argumentos para kill -9. Sobre a opção -9, está explicada aqui.

Assim você não precisa ver quais são os PID's, copiar/colar, etc. Todos eles já são passados diretamente para kill.

3
1
1

Também é possível matar um processo com o seguinte comando:

  kill -9 `lsof -t -i :PORT`

lsof -t -i :PORT vai te retornar o PID, e você joga diretamente no kill. Se quiser ser menos bruto, pode tirar o -9 dali haha