服务器中启动和停止项目

服务器中启动和停止项目

一、前言

在服务器上部署项目,一般就是将项目挂在后台,如果是微服务首选docker-compose,可以看看这篇博客,但如果是单体服务,感觉用可执行脚本会方便一点。

这里讲的是单体服务的部署。

二、使用命令启动和关闭项目

我的项目打包后名称为:jeecg-boot-module-system-2.4.2.jar ,后面以这个为例。

1、启动项目

在项目所在文件使用如下命令:

powershell 复制代码
nohup java -jar <项目名称> &

这是我的:

powershell 复制代码
nohup java -jar jeecg-boot-module-system-2.4.2.jar &

在项目运行期间,会把日志输出到 nohup.out 文件中,重启项目记得删除!

2、停止项目

停止项目就是杀掉项目的进程了,先查看进程ID,命令如下:

powershell 复制代码
ps -ef | grep <项目名称>

这是我的:

powershell 复制代码
ps -ef | grep jeecg-boot-module-system-2.4.2.jar

一般在第一行,后面也有启动项目的命令,认准那个就不会错了。其中第二列就是我们需要的进程ID。

然后使用杀掉进程的命令:

powershell 复制代码
kill -9 <PID>

PID就是上面的进程ID,没有报错就代表成功了。

这是我的:

powershell 复制代码
kill -9 3357306

因为已经杀过项目了,所以提示进程不存在。

三、使用可执行脚本启动和关闭项目

感觉上面的步骤在更新项目的时候略显繁琐,尤其是关闭项目的命令,就想着能不能使用一个命令完成,于是就将命令放到一个脚本文件中。

1、启动项目

创建一个名为 start.sh 的文件,内容如下:

powershell 复制代码
nohup java -jar jeecg-boot-module-system-2.4.2.jar &
echo "Current PID:$!"
echo "Start Success!"

再通过命令启动,命令如下:

powershell 复制代码
sh start.sh start

可以看到项目已经启动,会把日志输出到名为 nohup.out 的文件中。

2、停止项目

创建一个名为 stop.sh 的文件,内容如下:

powershell 复制代码
# ps -ef | grep -v grep | grep jeecg-boot-module-system-2.4.2.jar | awk '{print $2}'
# 表示只输出"jeecg-boot-module-system-2.4.2.jar"的进程ID,就是PID,"awk '{print $2}'"表示只输出第二列,第二列就是PID所在列
PID=$(ps -ef | grep -v grep | grep jeecg-boot-module-system-2.4.2.jar | awk '{print $2}')
echo "Current PID:$PID"
kill -9 $PID
echo "Stop Success!"

再通过命令停止,命令如下:

powershell 复制代码
sh stop.sh start

可以看到项目已经停止。

相关推荐
爱吃橘子橙子柚子2 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
舒一笑4 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData4 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大5 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair5 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主5 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
茶杯梦轩5 天前
从零起步学习RabbitMQ || 第二章:RabbitMQ 深入理解概念 Producer、Consumer、Exchange、Queue 与企业实战案例
服务器·后端·消息队列
甲鱼9296 天前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
YuMiao7 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
碳基沙盒8 天前
OpenClaw 多 Agent 配置实战指南
运维