|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Остановка службы при запуске определенного процесса и запуск после его завершения. |
|
CMD/BAT - Остановка службы при запуске определенного процесса и запуск после его завершения.
|
Новый участник Сообщения: 7 |
Профиль | Отправить PM | Цитировать К примеру служба носит название "1", а процесс "2". Служба работает, а процесс не запущен. Как только процесс запустился, служба сразу останавливается, а как только он завершился, служба сразу запускается.
|
|
Отправлено: 03:34, 10-02-2018 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Теперь все как надо, спасибо!
|
Отправлено: 17:28, 20-03-2018 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Помогите отредактировать код, плиз Если запустить процесс 1-4, при висячем процессе 123, то 123 убивается и останавливается служба "service". Мне нужно вырезать из кода остановку службы и добавить еще 2 процесса аналогичных 123, чтоб они закрывались вместе с ним.
:loop set "proc=123.exe" set "serv=service" set "pr1=1.exe" set "pr2=2.exe" set "pr3=3.exe" set "pr4=4.exe" set "pr5=5.exe" cmd /c for /l %%i in () do @for %%p in (1.exe 2.exe 3.exe 4.exe 5.exe) do @tasklist /fi "imagename eq %%p"^|findstr /v :^&^& (taskkill /f /im "%proc%"^& net stop "%serv%"^& exit /b)^&^>nul timeout /t 1 /nobreak cmd /c for /l %%i in () do @tasklist^|findstr /c:"%pr1%" /c:"%pr2%" /c:"%pr3%" /c:"%pr4%" /c:"%pr5%"^|^| (net start "%serv%"^& exit /b)^&^>nul timeout /t 1 /nobreak goto loop |
Отправлено: 18:49, 21-11-2018 | #12 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать если надо чтобы восстанавливались те которые надо запустить и не запущены (1-4), то стр10 надо поместить в подпрограмму
при запуске запускаем все 4-ре если не запущены и лопатим пока не убьем все запущенные заранее и обозначенные в подпрограмме @echo off set "proc1=123.exe" set "proc2=132.exe" set "proc3=213.exe" set "pr1=1.exe" set "pr2=2.exe" set "pr3=3.exe" set "pr4=4.exe" for %%a in (%pr1% %pr2% %pr3% %pr4%) do tasklist|findstr /c:"%%a" || start "" "%%a" for /l %%i in () do call :# pause& exit :# :: for %%a in (%pr1% %pr2% %pr3% %pr4%) do tasklist|findstr /c:"%%a" || start "" "%%a" for %%a in (%proc1% %proc2% %proc3%) do taskkill /f /im "%%a" >nul timeout /t 1 /nobreak exit /b |
Отправлено: 19:21, 22-11-2018 | #13 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Остановка и запуск службы | TERMINAL | AutoIt | 44 | 05-01-2018 15:36 | |
CMD/BAT - [решено] мониторинг пинга+выполнение команды после завершения процесса | sergeybutakov | Скриптовые языки администрирования Windows | 8 | 10-03-2017 18:26 | |
CMD/BAT - [решено] Выполнение следующей команды, после завершения определенного процесса | Weterok | Скриптовые языки администрирования Windows | 23 | 18-11-2015 13:58 | |
2008 R2 - Запуск службы для определенного пользователя | 23455432 | Windows Server 2008/2008 R2 | 7 | 05-03-2014 17:14 | |
CMD/BAT - [решено] Мониторинг процесса, в случаи его отсутствия повторный запуск. | dvassilyev | Скриптовые языки администрирования Windows | 2 | 06-12-2012 12:42 |
|