
Estoy intentando programar un software de servidor que implica muchas pruebas en la plataforma Java/Scala. Cada vez que compilo y ejecuto el código. Comienza a escuchar en el puerto 80. A veces necesito finalizarlo con Ctrl+C cuando se cuelga. En ese caso, ubuntu no libera el puerto. Entonces, para ejecutar el proceso, tengo que reiniciar la máquina.
Veo esto en 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
Entonces procese 1924 y 1925. Sudo kill en ambos. Pero luego siguen persistiendo incluso después de mucho tiempo.
sudo nmap -T agresivo -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
¡Significa que todavía está ahí!
sudo netstat --tcp --udp --listening --programa
tcp6 0 0 [::]:www [::]:* LISTEN 1925/java
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN 1185/cupsd
Esto significa que es 1925 - java
Cómo matarlo.
Respuesta1
kill -9
envía un SIGKILL que le permite eliminar cualquier proceso que no esté esperando IO.
Un usuario regular kill
simplemente envía SIGTERM que solo solicita que se cierre el proceso. Mientras que SIGKILL le dice al sistema operativo que finalice inmediatamente el proceso.