如何安全地杀死机器人复制过程



我有一个win32应用程序,我正在启动一些文件传输的robocopy子进程。如果我使用TerminateProcess终止进程,是否有可能以损坏的文件结束?如果是,如何避免这种情况?

来自TerminateProcess函数,

TerminateProcess函数用于无条件地导致进程退出。动态链接维护的全局数据的状态如果使用TerminateProcess,库(DLL(可能会受到损害而不是ExitProcess。

请记住,TerminateProcess不允许其目标在有效状态下清理和退出。

尝试干净地关闭流程,请参阅下面的链接,

  • 如何终止应用程序";Cleanly";在Win32中

如果自动复制过程终止,被复制的文件将具有与原始文件相同大小的时间戳(a(1980-01-01(b(。

然后再次使用robocopy在命令行中复制带有TimeStamp的文件。

参考:如何使用Robocopy在命令行中使用TimeStamp复制文件

最新更新