Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Остановка службы при запуске определенного процесса и запуск после его завершения.

Ответить
Настройки темы
CMD/BAT - Остановка службы при запуске определенного процесса и запуск после его завершения.

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


К примеру служба носит название "1", а процесс "2". Служба работает, а процесс не запущен. Как только процесс запустился, служба сразу останавливается, а как только он завершился, служба сразу запускается.

Отправлено: 03:34, 10-02-2018

 

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Теперь все как надо, спасибо!

Отправлено: 17:28, 20-03-2018 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить 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
Благодарности: 564

Профиль | Отправить 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Остановка службы при запуске определенного процесса и запуск после его завершения.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Остановка и запуск службы 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




 
Переход