Linux进程无法被kill

0 阅读1分钟

说明:记录一次应用进程无法被kill的错误;

场景

在一次导出MySQL数据时,使用下面的命令,将数据库数据导出为.sql文件,数据量大,导出时间长,于是我就将服务器重启了。

mysqldump -u username -p xxl_job > xxl-job.sql

重启后,再次启动MySQL服务时,提示端口被占用,于是我敲下面的命令查看MySQL应用运行状态,发现是未启动的

systemctl start mysql

在这里插入图片描述

我感到很奇怪,于是我尝试将占用3306端口的进程kill掉,发现kill之后就又重新启动了,无法被kill掉;

解决

原来是之间在服务器上部署了Jeecg项目,项目里有MySQL容器,该容器时重启系统后自启动的,占用了MySQL的端口,而Docker容器占用的端口,无法通过系统的kill命令直接杀死,需要通过docker stop 容器名/ID来停止

docker stop jeecg-boot-mysql

停止容器

在这里插入图片描述

接着再启动系统的MySQL服务就没问题了。Docker容器的重启,可以在Jeecg的docker-compose.yml文件中的restart配置中设置。

在这里插入图片描述

而系统应用的开机自启动,可以通过下面的命令来设置;

systemctl enable mysql

在这里插入图片描述

首次发布

hezhongying.blog.csdn.net/article/det…