
Estou tentando programar um software de servidor que envolve muitos testes na plataforma java/scala. Sempre que compilo e executo o código. Ele começa a escutar na porta 80. Às vezes preciso encerrá-lo com Ctrl+C quando ele trava. Nesse caso, o Ubuntu não está liberando a porta. Portanto, para executar o processo, preciso reiniciar a máquina.
Eu vejo isso em ps aux
root 1924 0.0 0.0 5796 1660 pts/0 T 05:44 0:00 sudo scala -
root 1925 0.2 1.5 491448 40796 pts/0 Tl 05:44 0:03 java -Xmx256M -Xms16M
Então processe 1924 e 1925. Eu fiz sudo kill em ambos. Mas então eles continuam persistindo mesmo depois de muito tempo.
sudo nmap -T Agressivo -A -v 127.0.0.1 -p 1-65000
Scanning localhost (127.0.0.1) [65000 ports]
Discovered open port 80/tcp on 127.0.0.1
Isso significa que ainda está lá!
sudo netstat --tcp --udp --listening --program
tcp6 0 0 [::]:www [::]:* LISTEN 1925/java
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN 1185/cupsd
Isso significa que é 1925 - java
Como matá-lo.
Responder1
kill -9
envia um SIGKILL que permite eliminar qualquer processo que não esteja aguardando IO.
Um regular kill
apenas envia SIGTERM que apenas solicita o encerramento do processo. Considerando que SIGKILL informa ao sistema operacional para encerrar imediatamente o processo.