当w3wp通过cmd / Powershell达到内存阈值时,我正在捕获内存转储。
这里的问题是,cmd / Powershell自动进程会在几个小时后终止,并且由于未达到内存阈值而没有捕获任何转储。
进程[7784]已终止!按ENTER开始新的cmd进程。
我必须再次运行
那么您知道在旧的cmd / Powershell进程终止后如何重新启动/重新运行命令吗?
我的命令很简单
procdump -accepteula -ma 5246 -m 13312 -s 5 -n 1 D:\ home \ Logfiles \
谢谢。
答案 0 :(得分:1)
您正在寻找等待流程。
Wait-Process cmdlet在接受输入之前等待一个或多个正在运行的进程停止。在PowerShell控制台中,此cmdlet禁止显示命令提示符,直到进程停止。您可以按流程名称或流程ID(PID)指定流程,或将流程对象通过管道传递给“等待流程”。
等待流程仅适用于在本地计算机上运行的进程。
在这种情况下,您的脚本将是:
Wait-Process -Id 7784
& "procdump.exe" -accepteula -ma 5246 -m 13312 -s 5 -n 1 D:\home\Logfiles\