0

我有一个写入文件然后将该文件转储到数据库的脚本。我需要这个任务尽可能频繁地运行,但不要同时运行多个实例(或者它会将多余的东西写入同一个文件)。

我目前的做法是在我正在检查文件是否存在的 shell 脚本中,如果存在,我退出脚本。在每个脚本结束时,它会删除该文件。

这在 95% 的时间里都有效。但是,如果服务器重新启动(这种情况经常发生),正在写入的文件将保留,并且每次调用该脚本时它都会退出,因为该文件已经存在。

解决这个问题的好方法是什么?

4

1 回答 1

0

您可以检查是否有任何进程正在使用带有“fuser”的文件。它将返回使用该文件的任何程序的 PID。如果没有 PIDS,您可以安全地擦除它并重新开始。

于 2013-04-12T20:29:02.110 回答