环境
操作系统: 常用的 linux
shell 环境: bash
可执行文件: /usr/bin/eexxee
业务系统启动流程
eexxee -a xxxx
eexxee -b xxxx
eexxee -a xxxx -b xxxx
eexxee -a xxxx -c xxxx
需求
业务系统启动/运行过程中,每一种参数的 eexxee 命令只能执行一次,比如前面已成功执行过如下命令:
eexxee -a xxxx -b xxxx
后面再执行如下相似命令:
eexxee -b xxxx -a xxxx
业务系统就会异常。
现在我想写一个脚本 (shell/python) 来启动该程序,如果不存在相似命令时就执行该命令,否则直接退出。
问题
在执行 “eexxee -a xxxx -b xxxx” 命令前,shell/python 脚本中怎么判断当前系统中是否正在运行其对应的类似命令?
执行的时候touch一个lock文件不就得了?这可以是Linux的通用做法,简单粗暴有效。
至于锁文件放到
/tmp
下,因为操作系统在重启的时候通常会自动清空/tmp/
,所以不用担心系统重启的时候你的锁文件还在,导致永远无法执行