Проверка количества запущенных процессов 1cv8.exe

На сервере используется батник, запускающий по расписанию раз в 2 минуты обмен УРИБ. Такие "костыли" часто приходится применять вместо фоновых заданий. В эти выходные случилось страшное. При выполнении обмена происходила ошибка, в результате 1С не закрывалась. Что привело к запуску over 400 процессов 1cv8.exe. Сервер перестал корректно работать. Службы начали отказывать. Перезагрузка спасла, но очевидно необходимо было допилить батник проверкой на кол-во уже запущенных процессов.

Вот сама проверка на запуск не более 50 процессов:

for /f %%a in ('tasklist /NH /FI "IMAGENAME eq 1cv8.exe" ^| find /c /v "" ') do set /a count1c=%%a
for /f %%a in ('tasklist /NH /FI "IMAGENAME eq 1cv8c.exe" ^| find /c /v "" ') do set /a count1c=count1c+%%a
for /f %%a in ('tasklist /NH /FI "Имя образа eq 1cv8.exe" ^| find /c /v "" ') do set /a count1c=count1c+%%a
for /f %%a in ('tasklist /NH /FI "Имя образа eq 1cv8c.exe" ^| find /c /v "" ') do set /a count1c=count1c+%%a
if %count1c% gtr 50 (goto SKIPSTART)

echo Here starts new 1c process

goto AFTERSTART
:SKIPSTART

echo Skip 1C start because already %count1c% processes running!

:AFTERSTART
pause

Прикрепленный файлРазмер
Скачать готовый бесплатный скрипт count1c.zip407 байта

Похожие материалы

Справочники

Документы

Отчеты

Обработки