📅  最后修改于: 2023-12-03 15:26:33.616000             🧑  作者: Mango
在编程开发过程中往往有需要释放占用的端口的情况,但有时我们会遇到进程占用端口导致端口无法释放的情况。这时我们需要一种方法来强制终止该进程,以释放占用的端口。本文将介绍如何在Shell-Bash中通过端口号来杀死占用该端口的进程。
lsof
lsof
是一个列出当前系统打开文件的工具,我们可以通过该工具来查看当前系统中占用某个端口的进程信息。在Shell-Bash中执行下面的命令可以查看所有占用端口8080
的进程信息:
sudo lsof -i :8080
该命令会返回所有占用端口8080
的进程的详细信息,如以下示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 12124 username 12u IPv4 666666 0t0 TCP *:8080 (LISTEN)
该示例中的进程是node
,进程ID是12124
,运行该进程的用户是username
,该进程占用的文件描述符为12u
,进程使用的网络协议是IPv4
,设备号是666666
,该进程当前未进行任何IO操作,该进程使用的端口是8080
,且该端口当前处于监听状态。
我们可以通过该命令返回的PID来杀死占用该端口的进程。
通过上面的命令,我们可以获得占用端口的进程信息,并得到该进程的PID,我们可以通过kill
命令来杀死该进程。执行以下命令即可杀死该进程:
sudo kill -9 12124
该命令中的-9
参数指定了进程被强制终止,12124
是我们获得的占用该端口的进程PID。
本文介绍了通过lsof
和kill
命令来在Shell-Bash中杀死占用指定端口的进程。该方法可以释放占用的端口,让我们可以继续使用该端口。