Я пытаюсь запрограммировать серверное программное обеспечение, которое требует большого количества тестов на платформе java / scala. Всякий раз, когда я компилирую и выполняю код. Он начинает прослушивать порт 80. Иногда мне нужно завершить его, нажав Ctrl + C, когда он зависает. В этом случае ubuntu не освобождает порт. Итак, чтобы запустить процесс, мне нужно перезагрузить компьютер.
Я вижу это в 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
Итак, обработайте 1924 и 1925. Я сделал sudo kill на обоих. Но потом они сохраняются даже спустя долгое время.
sudo nmap -T агрессивный -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
Значит, он все еще там!
sudo netstat --tcp --udp --listening --program
tcp6 0 0 [::]:www [::]:* LISTEN 1925/java
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN 1185/cupsd
Это означает, что это 1925 год - java
Как его убить.
kill -9
отправляет SIGKILL, который позволяет вам убить любой процесс, который не ожидает ввода-вывода.
Обычный kill
просто отправляет SIGTERM, который просит только завершить процесс. В то время как SIGKILL сообщает ОС немедленно прекратить процесс.