我有一个计划每天执行几次命令的 Cron 作业。在某些情况下,cron 作业不需要但会自动运行。如果发生这种情况,将显示以下错误消息:
PM2 [ERROR] Script already launched, add -f option to force re execution
注意:Cron 作业参考脚本运行 PM2。
即使脚本已经在运行,运行 cron 作业是否有任何负面影响?
请提供详细信息或参考资料。请不只是您的意见。
通过编写从 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
不确定在这种情况下可能有哪些详细信息或参考资料。这不像是有人委托研究来看看这个。
假设您的命令足够智能,一次只允许执行一次(从您发布的错误消息来看似乎是这种情况),那么唯一的不良影响是几个 CPU 时钟周期(我认为)。