关于pm2:即使不需要也可以运行Cron作业

Running Cron Job Even When Not Required

我有一个Cron Job,计划每天执行几次命令。 在某些情况下,不需要cron作业,但该作业会自动运行。 如果发生这种情况,则会显示以下错误消息:

1
PM2 [ERROR] Script already launched, add -f option to force re execution

注意:Cron Job参照脚本运行PM2。

即使脚本已经在运行,对cron作业的运行也有负面影响吗?

请提供详细信息或参考。 请不仅仅是您的意见。


通过编写由cron运行的包装器脚本来避免错误的错误消息。 在包装脚本中,仅通过查询进程表运行作业(如果尚未运行)。

假设ksh,这是一个代码段(我有点生疏,所以可能需要调整语法):

1
2
3
4
5
6
7
# Running will be non-zero if no match found
running=$(ps|grep MY_PROGRAM)
if [["$running" -gt 0 ]]; then
  # run your program
else
  # log its already running
fi


不知道在这种情况下会有哪些详细信息或参考。 这不像有人委托研究来研究这个问题。

假设您的命令足够智能,一次只能执行一次(从您发布的错误消息来看,情况似乎如此),那么唯一的不良影响就是几个CPU时钟周期(我认为)。