📅  最后修改于: 2023-12-03 15:32:28.426000             🧑  作者: Mango
在Linux中,当一个进程占用了某个端口,我们需要停止或重启该进程时,我们需要杀死该进程。这个时候,我们可以使用命令kill
来结束进程,使其释放端口。
kill [signal] pid
其中,pid
为需要结束的进程的ID,[signal]
是可选项,信号用于传输给进程。如果不指定信号,默认使用SIGTERM
。常见的信号有以下几种:
SIGHUP
: 终端关闭信号SIGINT
: 键盘中断信号,Ctrl + C
触发SIGQUIT
: 键盘退出信号,Ctrl + \
触发SIGKILL
: 杀死进程,无法被阻止SIGTERM
: 请求进程终止信号lsof -i:{port}
(其中{port}
为端口号)查找哪个进程占用了该端口,记录下其PID。kill {signal} {pid}
(其中{signal}
为信号名称,可选,{pid}
为进程ID),向该进程发送一个信号,请求其终止运行。如果进程没有响应该信号,可以使用kill -9 {pid}
命令,指定信号为SIGKILL
,强制终止进程。# 查找端口占用进程PID
lsof -i:8080
# 终止该进程,使用默认的信号SIGTERM
kill 12345
# 终止该进程,指定信号为SIGKILL
kill -SIGKILL 12345
# 终止该进程,使用Ctrl + C触发的信号
kill -INT 12345
注意,在杀死一个进程时,需要确保它不是关键进程,否则可能导致系统不稳定。同时,对于某些进程,可能需要更加详细的操作,比如使用多次kill
命令或者向该进程发送特定的信号来使其终止运行。