我目前正在学习一点点内容。要了解我在VM上有一个工作的incron,看着文件何时被移动到一个监视文件夹。
这是incron:
/var/share/entrant/DEFAULT/ IN_CLOSE,IN_CLOSE_WRITE,IN_CLOSE_NOWRITE /opt/maarch/separateur_qr/scripts/incron.sh $@$#
所以它使用IN_CLOSE, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE
事件。但在阅读了incron doc之后,我看到了IN_MOVE_TO
事件。
为什么它适用于这3个事件?对我而言,这是脑力劳动,因为我不认为文件在移动时是打开的。
答案 0 :(得分:1)
移动时文件是否打开取决于目标位置:
当目标位置与原始位置位于同一文件系统上时,mv
将只使用rename
系统调用和而不是打开文件。
当目标位置位于不同的文件系统上时,mv
将打开该文件,使用read
/ write
系统调用进行复制,最后删除原始文件。