协程怎么玩啊 我要linux下复制个文件 用CP命令 让他不卡住

hellsam · · 1291 次点击
~~~ 我尝试这样写,我发现执行完毕,程序10G,才复制了2G不到点就暂停了 纳闷了。 func Copy_demo() { err := copy.Copy("/home/go.zip", "/home/test/go_end.zip") if err != nil { fmt.Println("复制失败:", err) } else { fmt.Println("复制成功") } } func main(){ go Copy_demo() time.Sleep(1 * time.Second) fmt.Println("执行完毕吗") } ~~~
#1
更多评论
主程序结束,复制也就结束了。我的思路,要想复制的快就先把大文件分割,然后用多个协程并行复制,然后再合并,这样才能发挥go的威力
#2
这有个并发cp的示例, 你参考下,可以自己实现copy进度条: https://github.com/relunctance/goutils/tree/master/exe/copyfile
#3