0

当 w3wp 通过 cmd/Powershell 达到内存阈值时,我正在捕获内存转储。

这里的问题是 cmd/Powershell 的进程在几个小时后自动终止,并且没有捕获任何转储,因为没有达到内存阈值。

进程 [7784] 已终止!按 ENTER 开始一个新的 cmd 进程。

我必须再次运行它

那么您知道在旧的 cmd/Powershell 进程终止后如何重新启动/重新运行命令吗?

我的命令在这里很简单

procdump -accepteula -ma 5246 -m 13312 -s 5 -n 1 D:\home\Logfiles\

谢谢你。

4

1 回答 1

1

您正在寻找等待进程。

Wait-Process cmdlet 在接受输入之前等待一个或多个正在运行的进程停止。在 PowerShell 控制台中,此 cmdlet 会抑制命令提示符,直到进程停止。您可以通过进程名称或进程 ID (PID) 指定进程,或通过管道将进程对象传递给 Wait-Process。

Wait-Process 仅适用于在本地计算机上运行的进程。

在这种情况下,您的脚本将是:

Wait-Process -Id 7784
& "procdump.exe" -accepteula -ma 5246 -m 13312 -s 5 -n 1 D:\home\Logfiles\
于 2020-03-08T08:06:31.590 回答