有个比较特别的需求,需要用shell取文件修改的时间戳。其实有这个需求也是因为要解决一个项目的历史遗留问题,这个项目会拉起一个常驻进程,常驻进程呢,每秒会执行一个脚本用来处理队列。
项目在交回来之前,至少8年的历史了,常驻进程异常时会卡死,但拉起常驻进程的脚本呢,又不知道进程卡死,就会造成队列堆积,从而造成故障。
之前的研发真菜爆了~这点屁事都解决不了。
呐~既然交到我手上了,恰逢现网一个驻地碰到了同样的已知问题,索性优化在下一个版本中。
实现思路呢,就是每秒执行的脚本,会修改一个文件的时间戳,而拉起常驻进程的shell,会判定时间戳,如果距离超过3600秒,说明必然是卡死了,直接根据pid杀死常驻进程,重拉一个常驻进程继续处理队列数据。
涉及到其中一环,读取文件时间戳的方法如下:
filemtime=`stat -c %Y myfile.txt`
参考资料
Get mtime of specific file using Bash?
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言