linux – 如果Perl试图在正在上传的文件上调用move(),会发生什么
发布时间:2020-12-13 18:39:29 所属栏目:Linux 来源:网络整理
导读:有人正在将大小为10Mb的文件FTP到 linux服务器上的文件夹. 当文件正在转换时,cron唤醒并触发一个Perl脚本,该脚本旨在查看ftp文件夹,并将其中找到的任何内容移动到某个备用文件夹.我正在使用 File::Copy中的move()函数.Perl进程实际上将文件重命名为其任务的
有人正在将大小为10Mb的文件FTP到
linux服务器上的文件夹.
当文件正在转换时,cron唤醒并触发一个Perl脚本,该脚本旨在查看ftp文件夹,并将其中找到的任何内容移动到某个备用文件夹.我正在使用 File::Copy中的move()函数.Perl进程实际上将文件重命名为其任务的一部分.这是重要的,还是FTP不关心文件系统将文件描述为? 会移动()成功并移动部分文件,离开FTP做什么? 解决方法
不,移动应该只是让新的位置完成下载过程.您只是将inode从一个位置移动到另一个位置.来自下载程序的打开的文件描述符应该仍然指向它.
我只想重复几个人提到的内容.只要移动操作在同一文件系统上,这只能起作用.如果它作为另一个文件系统,因为它始终属于同一文件系统,所以不能传输inode.最可能的情况是,当时的部分数据被复制到新的位置,而程序仍然下载到不再附加到文件的旧的inode中,因此不能使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |