winapi - 如何安全地杀死 robocopy 进程
问题描述
我有一个 win32 应用程序,我正在为一些文件传输启动一个 robocopy 子进程。如果我使用 TerminateProcess 终止进程,是否有可能以损坏的文件结束?如果是这样如何避免这种情况?
解决方案
从TerminateProcess函数,
TerminateProcess 函数用于无条件地导致进程退出。如果使用 TerminateProcess 而不是 ExitProcess,则动态链接库 (DLL) 维护的全局数据的状态可能会受到影响。
请记住,TerminateProcess
不允许其目标清理并以有效状态退出。
尝试干净地关闭进程,参考下面的链接,
如果 robocopy 进程终止,被复制的文件将具有 (a) 1980-01-01 (b) 与原始文件大小相同的时间戳。
然后再次使用 robocopy 在命令行中复制带有时间戳的文件。
推荐阅读
- android - 通过链接网站订阅 ics 日历 URL
- java - Eclipse:禁止项目的交叉引用
- server - 重新安装 phpmyadmin,因为我没有在服务器选择中选择 apache2
- qlikview - qlik sense - 使用排名表衡量问题的 KPI
- javascript - Javascript AJAX 在 ASP.NET C# 上不起作用并返回 404
- firebase - 重新加载页面时的 Firebase 数据读取问题 - Vue.js
- python - Python:简单OLS的超级字典
- javascript - 链接中的 JavaScript onkeydown 不适用于 JAWS
- django - Django detailview get_queryset 和 get_object
- python - 我猜数组尺寸的一些问题