Как автоматически запустить новый процесс после завершения предыдущего процесса? - PullRequest
0 голосов
/ 08 марта 2020

Я записываю дамп памяти, когда w3wp достигает порога памяти через cmd / Powershell.

Проблема здесь в том, что процесс автоматического запуска cmd / Powershell завершается через несколько часов и не записывает ни один дамп как не достигнут порог памяти.

процесс [7784] завершен! Нажмите клавишу ВВОД, чтобы запустить новый процесс cmd.

Мне нужно запустить его снова

Итак, вы знаете, как перезапустить / повторно запустить команду после завершения старого процесса cmd / Powershell?

Моя команда здесь проста

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

Спасибо.

1 Ответ

1 голос
/ 08 марта 2020

Вы ищете Wait-Process.

Командлет Wait-Process ожидает остановки одного или нескольких запущенных процессов, прежде чем принять ввод. В консоли PowerShell этот командлет подавляет командную строку, пока процессы не будут остановлены. Вы можете указать процесс по имени или идентификатору процесса (PID) или передать объект процесса в Wait-Process.

Wait-Process работает только для процессов, запущенных на локальном компьютере .

В этом случае ваш скрипт будет:

Wait-Process -Id 7784
& "procdump.exe" -accepteula -ma 5246 -m 13312 -s 5 -n 1 D:\home\Logfiles\
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...