我有一个Cron Job计划每天执行几次命令。有些情况下不需要cron作业但会自动运行。如果发生这种情况,则显示以下错误消息:
PM2 [ERROR] Script already launched, add -f option to force re execution
注意:Cron作业在引用脚本时运行PM2。
即使脚本已在运行,对cron作业是否有任何负面影响?
请提供详细信息或参考。不只是你的意见。
答案 0 :(得分:1)
不确定此类情况可能有哪些详细信息或参考资料。这不像有人委托研究来研究这个。
假设您的命令足够智能,一次只允许执行一次(这似乎是根据您发布的错误消息判断的情况),那么唯一的不良影响是几个CPU时钟周期(我认为)。
答案 1 :(得分:1)
通过编写从cron运行的包装脚本来避免错误的错误消息。在包装器脚本中,只有通过查询进程表才能运行您的作业(如果它尚未运行)。
假设是ksh,这里有一个片段(我有点生气,所以语法可能需要调整):
# 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