有几种
方法可以实现这一目标:
>如果可以,请从脚本开始执行该过程.当进程终止时,脚本将继续运行,这意味着它无法再向该文件写入任何数据.
>如果您无法控制进程,但是您知道进程在写入文件后终止,则可以找到进程ID,然后使用kill -0 $PID检查进程是否仍在运行.如果$?之后为0,该过程仍然存在.
>如果这不可能,那么您可以使用lsof -np $PID获取此进程的所有打开文件的列表,并检查您的文件是否在列表中.但这有点慢.
[编辑]请注意,所有这些方法都有些脆弱.正确的解决方案是让外部进程使用临时名称写入文件,然后在完成后立即重命名.
重命名确保其他所有人都可以看到包含所有数据的整个文件,也可以不看任何内容.