进程终止问题

进程终止问题

我正在尝试编写一个服务器软件,这涉及在 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 Aggressive -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,允许您终止任何未等待 IO 的进程。

常规信号kill只是发送 SIGTERM,要求进程退出。而 SIGKILL 则告诉操作系统立即终止进程。

相关内容