加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 如何等待文件关闭

发布时间:2020-12-25 07:05:49 所属栏目:Linux 来源:网络整理
导读:我有一个外部进程,开始写入文件.如何编写等待文件关闭的脚本(当其他进程完成写入时). 解决方法 有几种方法可以实现这一目标: 如果可以,请从脚本开始执行该过程.当进程终止时,脚本将继续运行,这意味着它无法再向该文件写入任何数据. 如果您无法控制进程,但

我有一个外部进程,开始写入文件.如何编写等待文件关闭的脚本(当其他进程完成写入时).

解决方法

有几种方法可以实现这一目标:

>如果可以,请从脚本开始执行该过程.当进程终止时,脚本将继续运行,这意味着它无法再向该文件写入任何数据.
>如果您无法控制进程,但是您知道进程在写入文件后终止,则可以找到进程ID,然后使用kill -0 $PID检查进程是否仍在运行.如果$?之后为0,该过程仍然存在.
>如果这不可能,那么您可以使用lsof -np $PID获取此进程的所有打开文件的列表,并检查您的文件是否在列表中.但这有点慢.

[编辑]请注意,所有这些方法都有些脆弱.正确的解决方案是让外部进程使用临时名称写入文件,然后在完成后立即重命名.

重命名确保其他所有人都可以看到包含所有数据的整个文件,也可以不看任何内容.

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读