文章摘要:
主要记录解决端口被占用问题,如何解决的,对于所用的命令的一点学习。
问题:
启动项目时执行以下命令
service docker start
去到assembly目录下执行
docker-compose up -d
出现如下错误
解决过程
lsof -i:3306
什么都没显示,接着执行
telnet localhost 3306
显示如下
继续执行
ps -eaf | grep mysql
显示
这样我们便可以看到mysql
的pid,此时我们只需要杀死占用端口的进程
sudo kill 912
所以现在重启服务即可。
docker-compose up -d
命令学习
- lsof -i:3306
lsof(list open files)是一个列出当前系统打开文件的工具。
命令格式:lsof [参数][文件]
命令功能:用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。
命令参数-i<条件>: 列出符合条件的进程。
所以这条命令的功能就是查看正在使用3306端口的进程。
- telnet localhost 3306
telnet命令通常用来远程登录。
命令格式:telnet[参数][主机]
命令功能:执行telnet指令开启终端机阶段作业,并登入远端主机
通过这条命令来查看自己的数据库能否连通
- ps -eaf | grep mysql
ps 监视进程工具
ps -ef 显示所有进程信息,连同命令行
ps 与grep 组合使用,查找特定进程
功能是查看mysql的进程信息。在这里也就是查看占用3306端口的进程。
- kill 912
kill的应用是和ps 或pgrep 命令结合在一起使用的;
kill 的用法:kill [信号代码] 进程ID
功能是杀死进程id为912的进程。