CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Аватара пользователя
V!RTuE

CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение V!RTuE »

Надо запустить программу program.exe и пока она выполняется проверять каждые 5 сек не появился ли процесс werfault.exe. И если появился werfault.exe, то принудительно завершить его и program.exe и после продолжить выполнение батника. или продолжить выполнение батника, если программа program.exe сама завершила выполнение и werfault.exe не появился.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение Iska »

Цитата V!RTuE:



и после продолжить выполнение батника.
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




И что должно происходить в этом «продолжении выполнения»?




Цитата V!RTuE:



или продолжить выполнение батника, если программа program.exe сама завершила выполнение и werfault.exe не появился.
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




Тот же самый вопрос, что и выше.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение Iska »

Код:

Код: Выделить всё

@echo off
start "" "program.exe"
:#
(
tasklist| findstr /bilc:"werfault.exe">nul
)&& (
taskkill /f /im "werfault.exe" /t>nul
taskkill /f /im "program.exe" /t>nul
)|| (
timeout /t 5 /nobreak>nul
(
tasklist| findstr /bilc:"program.exe">nul
)&& (
goto:#
)
)
:: Продолжение работы:
for /l %%i in (1 1 10000) do echo Continuation...
exit /b
Аватара пользователя
Georgio

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение Georgio »

Цитата Georgio:





Код:

Код: Выделить всё

:: Продолжение работы:
for /l %%i in (1 1 10000) do echo Continuation...

CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




Изображение Наверное, так и надо делать: каков вопрос — таков ответ.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение Iska »

Цитата Iska:



И что должно происходить в этом «продолжении выполнения»?
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




Имелось ввиду, что батник выполняет много действий (запускает программы, архивирует, пишет логи. Также одним из действий является запуск program.exe (с непредвиденным результатом работы иногда, для чего и требуется отследить появления процесса werfault.exe) и после также продолжается запись логов, архивирование и т.д. Просто если появится процесс werfault.exe, то пока не закрыть его, батник не продолжит свою работу.



А так спасибо Georgio, всё работает Изображение


Цитата Iska:



Цитата Georgio:

Код:

:: Продолжение работы:

for /l %%i in (1 1 10000) do echo Continuation...

»

Наверное, так и надо делать: каков вопрос — таков ответ.
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




шутку не понял Изображение что выполнит эта команда? (не пробовал запускать)
Аватара пользователя
V!RTuE

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение V!RTuE »

Цитата V!RTuE:



шутку не понял что выполнит эта команда? (не пробовал запускать)
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




Десять тысяч раз напишет Вам «Продолжаю выполнение» — всё как заказывали Изображение.
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение Iska »

Georgio, вопрос на засыпку. Всегда ли можно ключи всех команд записывать так? вместо findstr /b /i /l /c записать findstr /bilc

Например xcopy /rych будет правильной записью? или надо xcopy /r /y /c /h и вообще между ключами обязательны пробелы?
Аватара пользователя
V!RTuE

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение V!RTuE »

Georgio, вопрос на засыпку. Всегда ли можно ключи всех команд записывать так? вместо findstr /b /i /l /c записать findstr /bilc

Например xcopy /rych будет правильной записью? или надо xcopy /r /y /c /h и вообще между ключами обязательны пробелы?
Аватара пользователя
Georgio

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение Georgio »

Цитата Georgio:



V!RTuE, далеко не всегда. Это делается для сокращения кода, и, если не знаете, можно или нет, то писать нужно "/r /y /c /h". Да, команда "xcopy" допускает все три варианта: "/r /y /c /h", "/r/y/c/h" и "/rych". Команда "findstr" допускает два варианта: "/b /i /l" и "/bil". А команда "find" допускает только один вариант: "/c /v".
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




а где можно почитать какие команды допускают такое написание, а какие нет? или это всё ваш личный опыт?
Аватара пользователя
V!RTuE

Re: CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач

Сообщение V!RTuE »

Цитата V!RTuE:



а где можно почитать какие команды допускают такое написание, а какие нет?
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




Практически нигде.






Цитата V!RTuE:



или это всё ваш личный опыт?
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач




Именно так.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»