Jenkins执行nohup命令
上一篇介绍了如何通过Jenkins持续构建flask项目
然后直接使用的python3 run_main.py来启动,通过这种方式启动后,可以观察一下,Jenkins的构建任务会一直挂载(任务一直处于构建中)
平时在终端通过这个命令启动后端服务时,如果关掉终端,服务也会断掉
所以一般不用这种方式,可以通过nohup命令来后台启动flask服务
在shell中输入以下命令
BUILD_ID=dontKillMe
nohup python3 run_main.py >server.out 2>&1 &
sleep 5
这样的话,通过nohup启动flask服务,可以在后台运行,同时日志打印到server.out中
通过网上冲浪🏄♀️,发现了另一种后台启动的方式(参考https://blog.csdn.net/weixin_39359455/article/details/108878865)
通过定时任务的方式来执行 python3 run_main.py
Linux可以使用at 命令
来实现定时任务(at的基本介绍)
先在终端简单试验一下
例如在1分钟后创建一个test文件
[root@VM-8-3-centos ~]# echo "touch test" | at now + 1 min
warning: commands will be executed using /bin/sh
job 10 at Sun Jun 26 10:26:00 2022
[root@VM-8-3-centos ~]# ls # 1分钟后查看一下
test
[root@VM-8-3-centos ~]#
所以Jenkins中shell命令按照如下方式写一下
再次构建任务,可以发现flask项目正常在后台运行了