Chinaunix

标题: shell获取没有进程写的文件列表? [打印本页]

作者: haohan007008    时间: 2014-10-28 21:56
标题: shell获取没有进程写的文件列表?
本帖最后由 haohan007008 于 2014-10-28 21:57 编辑

有个进程定时向目录写文件,另一个进行从目录中读文件
出现有个文件还没有被写完,就被读了,造成数据丢失

由于写文件是其他系统做的,暂时没有办法做标志文件


目前通过逻辑shell脚本获取当前文件列表,然后和上次列表比较。
#!/bin/sh
#date 2014-10-27
#BEGIN
ls -t /home/yz/20*.txt > /home/yz/all_list.txt
diff /home/yz/last_list.txt /home/yz/all_list.txt | grep ">" |  awk '{ print $2 }' > /home/yz/tmp.txt
mv /home/yz/all_list.txt /home/yz/last_list.txt

#END


请教大虾们,如果用shell获取没有进程写的文件列表怎么做?
作者: jackyyen    时间: 2014-10-29 10:38
如果文件正在被写,则
lsof 文件名
会列出相应的进程名




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2