gpt4 book ai didi

Perl复制命令等待复制完成

转载 作者:行者123 更新时间:2023-12-02 17:01:07 25 4
gpt4 key购买 nike

我将文件从位置 windowsLocation1 复制到 LinuxLocation1,格式为“windowsLocation1->windowsLocation2-> LinuxLocation1”,windowsLocation2 是可从 Windows 和 Linux 计算机访问的交换区域

copy("//server1/dir1/myfile.txt", "$copy_dir/myfile.txt") or die "Copy failed: $!";
<telnet into Linux machine>
$obj->{telnet}->print( "sleep 10; cp /net/dir1/myfile.txt /tmp/files/");
#added "sleep 10, to avoid the race condition between copy and cp.

这个“ sleep 10”秒有时是不够的,它抛出错误为“cp:读取错误:输入/输出错误”,我认为第二个“cp”命令在第一个“复制”时尝试访问文件命令仍在写入。使用 Perl v5.6.1

有办法避免这种情况吗?谢谢。

最佳答案

我猜测您是从 File::Copy 模块获取 copy 例程。

在对 CPAN 进行简短搜索后,我发现了一个名为 File::Copy::Vigilant 的模块看起来它可能适合您的需求,并且有来自 perl 5.6 的成功测试报告。

我还发现了File::Copy::Reliable但只有 perl 5.8 的报告,尽管这并不能证明什么。就本模块而言,您可能只是一位时间旅行先驱......

关于Perl复制命令等待复制完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com