Linux 利用flock做守护进程,监控程序

当多个进程可能会对同样的数据执行操作时,这些进程需要保证其它进程没有也在操作,以免损坏数据。

flock 有个对应的 shell 命令也叫 flock,很好用的。

使用最广泛的 cron 这个定时任务服务。类似下面这种1分钟执行一次的程序,如果该程序在1分钟内未完成,那么cron不会去检查,而是继续新开启一份,这样服务器上经常看到一堆未退出的 cron 任务进程。把所有这样的任务包一层 flock 就不会导致 cron 启动 N 个进程做同一件事了。


* * * * * /usr/bin/flock -xn /tmp/inotify_deamon.lock /var/script/inotify_deamon.py >> /tmp/deee.log 2>&1


告诉系统监控我的inotify_deamon.py这个脚本,系统中只能有1个进程,不允许多开,以免造成混乱。

文件锁来控制进程数量。













你可能感兴趣的:(linux,守护进程,flock,文件锁)