请知悉:本文最近一次更新为 3年 前,文中内容可能已经过时。

有个比较特别的需求,需要用shell取文件修改的时间戳。其实有这个需求也是因为要解决一个项目的历史遗留问题,这个项目会拉起一个常驻进程,常驻进程呢,每秒会执行一个脚本用来处理队列。

项目在交回来之前,至少8年的历史了,常驻进程异常时会卡死,但拉起常驻进程的脚本呢,又不知道进程卡死,就会造成队列堆积,从而造成故障。

之前的研发真菜爆了~这点屁事都解决不了。

呐~既然交到我手上了,恰逢现网一个驻地碰到了同样的已知问题,索性优化在下一个版本中。

实现思路呢,就是每秒执行的脚本,会修改一个文件的时间戳,而拉起常驻进程的shell,会判定时间戳,如果距离超过3600秒,说明必然是卡死了,直接根据pid杀死常驻进程,重拉一个常驻进程继续处理队列数据。

涉及到其中一环,读取文件时间戳的方法如下:

filemtime=`stat -c %Y myfile.txt`

参考资料

Get mtime of specific file using Bash?


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《Linux shell 如何取文件修改的时间戳》相关的博文:


留言

avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌