python项目在linux中的启动脚本(shell脚本)

news/2024/10/18 22:37:14/

背景:

  在linux环境,使用shell脚本,实现对某个服务的启动、停止功能。

shell脚本的功能:

  1. 启动(start):通过参数 start ,实现启动服务。如果该服务已经启动,给出已经启动的提示信息,避免重复启动该服务;如果未启动,启动该服务。
  2. 关闭(stop):通过参数 stop ,实现停止服务。如果该服务已停止,给出已关闭的提示信息。如果服务已启动,停止该服务。
  3. 提示信息:如果没有传递任何参数,给出可用参数的提示信息。

实现:

ps:以python实现的定时任务为例,说明服务启动、关闭脚本的实现

# 服务配置
# python 项目使用的虚拟环境路径
venvPath="/home/ops/add_missing_room_detail/py36"
# python 项目的路径
projectPath="/home/ops/add_missing_room_detail/HotelGo2DelonixPmx"
# python 项目启动命令
CMD="python fix_missing_rates.py"# 启动进程函数
start_process() {# 判断进程是否已经在运行,如果已经在运行则不需要重复启动start_pid=$(ps aux | grep "$CMD" | grep -v grep | awk '{print $2}')if [ -n "$start_pid" ]; thenecho "The process is already running with PID:" $start_pidreturn 1fi# 激活python虚拟环境echo "activate python venv3  $venvPath"source $venvPath"/bin/activate"cd $projectPath# 后台运行执行命令,将日志输出到文件runoob.lognohup $CMD >runoob.log 2>&1 &start_pid=$!# 判断进程是否成功启动if [ -z "$start_pid" ]; thenecho "Fail to start process"return 1elseecho "The process has been started with PID:" $start_pidreturn 0fi
}# 停止进程函数
stop_process() {# 根据进程名过滤出进程id,并结束进程start_pid=$(ps aux | grep "$CMD" | grep -v grep | awk '{print $2}')if [ -z "$start_pid" ]; thenecho "No process to stop."return 1elsekill -9 $start_pidecho "The process has been stopped with PID:" $start_pidreturn 0fi
}# 根据传入参数执行对应的操作
case $1 in
start)start_process;;
stop)stop_process;;
*)echo "Usage: $0 {start|stop}"exit 1;;
esac

使用

  1. 提示信息:
    在这里插入图片描述

  2. 启动:
    在这里插入图片描述

  3. 关闭:
    在这里插入图片描述


http://www.ppmy.cn/news/581882.html

相关文章

@Import详解及@Import注入对象的四种方式

在Java中,Import注解是用于引入其他配置类或Bean的注解。它可以帮助将特定的配置类或Bean注册到Spring容器中,使其可供应用程序使用。 Import详解 Import注解可以用在Configuration注解的类上,也可以用在普通的类上。它作为一个元注解&#…

用API Key保护Spring Boot 接口的安全

1、概述 安全性在REST API开发中扮演着重要的角色。一个不安全的REST API可以直接访问到后台系统中的敏感数据。因此,企业组织需要关注API安全性。 Spring Security 提供了各种机制来保护我们的 REST API。其中之一是 API 密钥。API 密钥是客户端在调用 API 调用时提…

2022哪款蓝牙耳机性价比高?高品质蓝牙耳机测评

在蓝牙耳机的横空出世的时候,受到很多年轻人的追捧,各大网络都上新了蓝牙耳机,因为蓝牙耳机在现在的社会生活中必不可少。下面小编为大家整理的蓝牙耳机好评榜,推荐几款小编觉得品质比较高的几款耳机吧! 第一款&#…

哪家蓝牙耳机性价比高?总结知乎力荐的这五款蓝牙耳机

如今蓝牙技术的火速发展,也产生了不少音质好、质量佳的耳机品牌,喜欢音乐的小伙伴经常陶醉于声音带来的美感当中。对于蓝牙耳机的要求除了音质,一些新的功能也会提高耳机使用带来的满足感,比如主动降噪,比如语音控制等…

力扣日记1401

1. 题目 LeetCode 1401. 圆和矩形是否有重叠 1.1 题意 给定圆和矩形,判断两个图形是否有重叠部分 1.2 分析 两个图形重叠有两种情况,相交和包含。 先考虑相交:相交的话圆至少和矩形的某条边有交点,因为矩形四条边都平行/重合于…

Mysql之回表

文章目录 什么是回表为什么会回表怎么避免回表 什么是回表 当需要查询的数据在索引树中不存在的时候,需要再次到聚集索引中去获取,这个过程就叫回表。 更简单点就是:先定位主键值,再定位行纪录。 那什么是聚集索引呢&#xff1…

SSM山西能源学院教室管理系统-计算机毕设 附源码81671

SSM山西能源学院教室管理系统 摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,山西能源学院教室管理系统当然也不能排除在外。山西能源学院教室管理系统是以实际运用为…

股票量化分析工具QTYX使用攻略——涨停个股挖掘热门板块(更新2.6.6)

搭建自己的量化系统 如果要长期在市场中立于不败之地!必须要形成一套自己的交易系统。 行情不等人!边学习边实战,在实战中学习才是最有效地方式。于是我们分享一个即可以用于学习,也可以用于实战炒股分析的量化系统——QTYX。 QTY…