微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果在 Windows 批处理文件中失败,如何重新启动特定命令?

如何解决如果在 Windows 批处理文件中失败,如何重新启动特定命令?

在 BAT 文件中,我启动了 2 个单独的进程,如下所示: 如您所见,唯一的区别是 cpu 亲和性。

TC_JOIN

有时,两个进程之一会随机失败,并显示问题事件名称:BEX64

当发生此类故障时,必须立即重新启动进程。所以我面临这个问题。

我可以在 BAT 文件中监控 2 个进程,如果一个进程失败 重启吗?监控过程必须能够区分哪些 2 个进程中的一个失败,因此使用正确的亲缘关系 重新启动它。

如果您有涉及 powershell 的解决方案,请访问 How to RESTART a specific command if it fails in Windows Powershell?

谢谢

解决方法

您有 32 个处理器可以使用吗?通过使用-PassThru,可以使用进程对象来监控进程是否还活着。

$Process1 = Start-Process -FilePath 'C:\Users\telis\Documents\CHIA\madmax\plotter\chia_plot.exe' -PassThru
$Process1.ProcessorAffinity = 0xF
$Process1.PriorityClass = 'RealTime'
$Process2 = Start-Process -FilePath 'C:\Users\telis\Documents\CHIA\madmax\plotter\chia_plot.exe' -PassThru
$Process2.ProcessorAffinity = 0xF0
$Process2.PriorityClass = 'RealTime'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。