|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Остановка службы при запуске определенного процесса и запуск после его завершения. |
|
|
CMD/BAT - Остановка службы при запуске определенного процесса и запуск после его завершения.
|
Новый участник Сообщения: 7 |
К примеру служба носит название "1", а процесс "2". Служба работает, а процесс не запущен. Как только процесс запустился, служба сразу останавливается, а как только он завершился, служба сразу запускается.
|
|
Отправлено: 03:34, 10-02-2018 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать @echo off set "proc=process.exe" set "serv=service" cmd /c for /l %%i in () do @tasklist /fi "imagename eq %proc%"^|findstr /v :^&^& (sc stop "%serv%"^& exit /b)^&^>nul timeout /t 1 /nobreak cmd /c for /l %%i in () do @tasklist /fi "imagename eq %proc%"^|findstr /v :^|^| (sc start "%serv%"^& exit /b)^&^>nul timeout /t 1 /nobreak pause |
Отправлено: 14:05, 10-02-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Спасибо большое, все работает
![]() |
Отправлено: 14:58, 10-02-2018 | #3 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать А можно узнать как сделать так, чтоб мониторились не один, а несколько процессов и при появлении одного из этих процессов сначала завершался определенный процесс, а уже потом останавливалась служба?
|
Отправлено: 11:28, 17-03-2018 | #4 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 02:02, 18-03-2018 | #5 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Работает, спасибо
![]() ![]() set "proc=process.exe" set "serv=service" cmd /c for /l %%i in () do @for %%p in (proc1 proc2 proc3) 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 @for %%p in (proc1 proc2 proc3) do @tasklist /fi "imagename eq %%p"^|findstr /v :^|^| (net start "%serv%"^& exit /b)^&^>nul timeout /t 1 /nobreak pause |
Отправлено: 05:31, 19-03-2018 | #6 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Kukuruzo666,
проверил такой строкой на живом примере cmd /c for /l %%i in () do @for %%p in (xnview.exe calc.exe) do @tasklist /fi "imagename eq %%p"^|findstr /v :^|^| (echo Запуск^& exit /b)^&^>nul timeout /t 1 /nobreak так что смотрите что делаете не так |
Отправлено: 13:55, 19-03-2018 | #7 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Понял почему не работало. Сразу все указанные процессы должны быть запущены, а чтоб работало только при одном из указанных нельзя сделать? И чтоб если запущены все, то команда выполнялась только после закрытия всех процессов.
|
Последний раз редактировалось Kukuruzo666, 20-03-2018 в 13:42. Отправлено: 13:30, 20-03-2018 | #8 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать на cmd это будет некрасиво, много и жестоко для процессора
или детально распишите какая конкретная конечная цель задачи или поменяйте условия решения проблемы |
Отправлено: 13:53, 20-03-2018 | #9 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Kukuruzo666:
|
|
Отправлено: 16:59, 20-03-2018 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Остановка и запуск службы | 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 |
|