我尝试在tomcat /bin目录下使用。/shutdown.sh关闭tomcat。但发现服务器没有正确关闭。因此我无法重新启动我的tomcat运行在端口8080上。

我想终止在8080上运行的tomcat进程。我首先想要在特定端口(8080)上运行的进程列表,以便选择要终止哪个进程。


当前回答

列出监听端口8080的所有进程:

lsof -i:8080

杀死任何监听8080端口的进程:

kill $(lsof -t -i:8080)

或者更激烈:

kill -9 $(lsof -t -i:8080)

(-9对应SIGKILL -立即终止/硬杀信号:参见kill信号列表和kill命令中-9选项的用途是什么?如果没有指定要终止的信号,则发送TERM信号,即-15或软终止,这有时不足以终止进程。

其他回答

sudo apt-get install psmisc (or sudo yum install psmisc)
sudo fuser 80/tcp

结果: 80/tcp: 1858 1867 1868 1869 1871

逐个杀死进程

杀死-9 1858

只有以下命令对我有用:

ps -aux | grep 8000

然后:

sudo kill <PID>

首先检查进程netstat -lt 检查进程id fuser <端口号>/tcp Kill <进程id>

这个fuser 8080/tcp将打印该端口绑定进程的PID。

这个fuser -k 8080/tcp会终止这个进程。

仅适用于Linux。更通用的是使用lsof -i4(或IPv6的6)。

首先你需要做的是运行(替换为你的端口号):

fuser -k 3000/tcp

这将释放端口。运行上述命令后,执行以下命令:

service docker restart

你的问题解决了。