Linux防止重复执行定时任务

linux下启动一个定时任务,间隔执行某个脚本,但是这个脚本可能会持续较长时间,时间不定。

另外,这个脚本可以可能通过后台管理界面手动触发。

问题来了,怎么防止儿任务重复执行?就是说当新的任务到来的时候,需要把老的停止掉。

如何实现?

阅读 6.1k
1 个回答

通常 linux 的 init 脚本在启动一个程序的时候都会生成一个 pid 文件,用来存储程序的 pid,方便停止程序的时候的 kill操作。

同样的,你的定时任务脚本也可以生成一个 pid 文件,在任务完成的时候删除这个文件。任务开始的时候判断这个文件在不在,如果在,说明之前的任务没有结束,你可以选择退出,或者kill。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题