Процесс убивает проблему

Процесс убивает проблему

Я пытаюсь запрограммировать серверное ПО, которое включает в себя много тестирования на платформе 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

Как его убить.

решение1

kill -9отправляет сигнал SIGKILL, который позволяет завершить любой процесс, не ожидающий ввода-вывода.

Регулярный killпросто отправляет SIGTERM, который только просит процесс завершиться. В то время как SIGKILL сообщает ОС о необходимости немедленно завершить процесс.

Связанный контент