重点
每次搜答案得清楚自己是想搜被占用的进程还是被占用的端口,每次搜别人的答案都是一头雾水,今天自己做个总结。
- 进程:是操作系统最基本的调度单位,查询所有正在运行的进程可以这样:
#查询所有正在运行的进程
ps aux | less
#按enter键继续查询
#按q键退出查询
#你也可以根据服务名称查询进程号
#比如我的服务名叫demo,于是我使用如下命令查询demo所占用的进程号
ps -aux | grep demo
#结果如下图,demo的jar包就是我刚才部署的服务,圈起来的就是进程号
- 端口:一个程序的入口,这才是我们经常用到的,比如说你运行了某个后端或前端程序,你想手动停掉它,你就可以用程序的端口号查询进程的详细情况,包括端口号,进程号,如果你想停掉它,可以用kill -9 + 进程号,比如:
#根据端口9206查进程的详细情况,注意这里是过滤端口,
#是你在启动程序的时候带上了端口号9206,
#比如我用java -jar命令启动java程序时在末尾加了端口9206,
#此时使用如下命令就会被过滤到
ps aux | grep 9206
#你也可以使用如下命令直接查到进程号,内容更简洁,值得注意的是这里类似模糊查询,比如端口19206都可能会被查到。
netstat -tunlp | grep 9206
#查询类容如下
tcp 0 0 0.0.0.0:9206 0.0.0.0:* LISTEN 2385/java
#有了进程号你可以关闭使用如下命令关闭指定进程
kill -9 2385
感悟
自己写一遍确实会记得牢的多!