Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
1

Выполнение определённой команды после обнаружения заданного процесса

16.01.2016, 02:05. Просмотров 1103. Ответов 15
Метки нет (Все метки)

Здравствуйте, какая команда позволит выполнить следующие условия на Win7:
1. ожидание появления в запущенных процессах, процесса java.exe
2. как только первый пункт обнаружил процесс java.exe, он выполняет следующую команду ( у меня к примеру создание раздела в реестре).

Суть такая.
Батник запускает программу, эта программа через некоторые секунды (по разному) запускает яву. Нужно создать раздел в реестре именно тогда, когда в запущенных процессах появиться ява.
проблема именно в команде с ожиданием появления явы в процессах.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2016, 02:05
Ответы с готовыми решениями:

Выполнение команды после завершения процесса (программы)
Необходимо наладить резервное копирование базы данных после завершения приложения, но что то не...

После выполнения определённой команды не выполняются последующие команды
Объясните, пожалуйста, почему может останавливаться выполнение второй и далее комманд? cd...

Выполнение определённой команды для указанного компьютера
Хочется сделать батник, чтоб при запуске спрашивал имя компутера в сети и выполнял задачу gpupdate...

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

Выполнение команды tracert для заданного IP-адреса определённое количество раз
Пытаюсь написать такой батник: нужно выполнять команду tracert ip определенное количество раз,...

15
ComSpec
3417 / 1960 / 629
Регистрация: 26.02.2014
Сообщений: 1,457
16.01.2016, 03:10 2
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Цитата Сообщение от MazaY Посмотреть сообщение
Суть такая.
Батник запускает программу, эта программа через некоторые секунды (по разному) запускает яву. Нужно создать раздел в реестре именно тогда, когда в запущенных процессах появиться ява.
проблема именно в команде с ожиданием появления явы в процессах.


Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
 
rem Здесь Ваша команда для запуска программы, запускающей "java.exe".
 
set "p=java.exe"
cmd/c for /l %%i in () do @for /f delims^^=^^" %%j in ('tasklist/fi "^
 imagename eq %p%" /fo csv /nh') do @if "%%j" equ "%p%" exit/b
 
rem Здесь Ваша команда, создающая раздел в реестре.
2
b0gus
539 / 188 / 80
Регистрация: 17.03.2014
Сообщений: 537
16.01.2016, 12:10 3
ComSpec, почему в 6-й строке перед delims нет кавычки " ?
Windows Batch file
6
cmd/c for /l %%i in () do @for /f delims^^=^^" %%j in ('tasklist/fi "^
0
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
16.01.2016, 12:20  [ТС] 4
спасибо, работает...
ток выяснилось что ява запускается раньше чем я её вижу в диспетчере задач.....в итоге команда бесполезна....в диспетчере видимо я её вижу когда она загрузиться на полную катушку больше 120 мб
0
16.01.2016, 12:20
alpap
2800 / 1598 / 540
Регистрация: 26.04.2015
Сообщений: 5,373
16.01.2016, 15:55 5
ComSpec, Классное грузило для проверки нагрузки.

Добавлено через 11 минут
b0gus, Таким образом делается дерибан по "

Добавлено через 22 минуты
MazaY, А что за интересная команда такая, добавить ключ только если процесс полностью загрузился. А если не так важны секунды, может просто задержку поставить в секунд 30
Windows Batch file
1
>nul ping -n 31 127.0.0.1
?
0
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
16.01.2016, 16:12  [ТС] 6
alpap, пробовал.....дело в том что на втором моем ноуте, который по слабее, прога дольше запускается, в отличии от ноута с SSD, поэтому с пингом и секундами получается не универсальный батник.
0
alpap
2800 / 1598 / 540
Регистрация: 26.04.2015
Сообщений: 5,373
16.01.2016, 18:05 7
Хорошо, а что делает ява , когда запустится, просто чего-то ждет или чего запускает (должна), если чего запускает, то может перед запуском этого делать задачу - ява точно уже вся будет готова или отслеживать процесс по емкости, на PS это точно можно, не знаю можно ли в cmd.
0
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
16.01.2016, 18:10  [ТС] 8
alpap,
ява подтягивает множество длл, судя про процесс мониторингу, а после всего что ей нужно она же и является приложением-оболочкой......а какую к примеру задачу можно использовать ?
0
alpap
2800 / 1598 / 540
Регистрация: 26.04.2015
Сообщений: 5,373
16.01.2016, 18:43 9
Допустим можно вытащить из процесса явы это, если есть с чем сравнивать может поможет:
Windows Batch file
1
2
3
@echo on
for /f tokens^=9^ delims^=^" %%i in ('tasklist /fi "imagename eq java.exe" /fo csv /nh') do echo.%%~i
pause>nul
.
0
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
16.01.2016, 19:39  [ТС] 10
alpap,
батник висит на команде pause>nul
не подходит......пока не нажмешь клавишу раздел в реестр не добавиться......
честно я до конца не понял что делает команда выше
0
alpap
2800 / 1598 / 540
Регистрация: 26.04.2015
Сообщений: 5,373
16.01.2016, 20:15 11
Цитата Сообщение от MazaY Посмотреть сообщение
загрузиться на полную катушку больше 120 мб
- вот это выделяет.

Добавлено через 38 секунд
если это то что я думаю.

Добавлено через 7 минут
Например у меня рабочий набор процесса AkelPad.exe имеет примерно 7200К, это единственное что имеет хоть какое-то отличие. Так я понимаю если взять if %%i geq 7000K для моего процесса можно говорить о том что он полностью загружен.
0
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
16.01.2016, 20:26  [ТС] 12
а в каком месте подставить это if %%i geq 120000K?
0
alpap
2800 / 1598 / 540
Регистрация: 26.04.2015
Сообщений: 5,373
16.01.2016, 21:38 13
Как-то так:
Windows Batch file
1
2
3
4
@echo on
set "p=java.exe"
for /f tokens^=9^ delims^=^" %%i in ('tasklist /fi "imagename eq %p%" /fo csv /nh') do set "r=%%~i" & cmd /v /c if "!r:~0,-3!" geq "120 000" echo.OK
pause>nul
но если будет еще такой же процесс тоже определится и надо посмотреть точно всегда переваливает за 120 000, если нет уменьшить немного.
0
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
16.01.2016, 21:51  [ТС] 14
чет не работает...причем пробовал подставлять имя другого екзешника и менять размер.....
батник так же стопориться на паузе, убирал паузу - команды проскакиваэт без ожидания загрузки в ОЗУ указанного размера
0
alpap
2800 / 1598 / 540
Регистрация: 26.04.2015
Сообщений: 5,373
16.01.2016, 22:06 15
Что-то я не пойму что Вы хотите от батника, у него условие: Если есть запущенный процесс "java.exe" с рабочим набором более 120 000 будет "OK" в окне консоли, т.е. процесс полностью загружен и делайте дальше свое дело, я не знаю какое
0
MazaY
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 16
08.02.2016, 00:44  [ТС] 16
вобщем задал тайм аут времени в 20 секунд.....сойдет.....с процессом явы не вышло......она то запущенна, то нет
0
08.02.2016, 00:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2016, 00:44

Выполнение скрипта после завершения процесса
Ребят нужна помощь, есть вот такой код start "запуск SAMP" /wait "G:\GTASA\samp.exe" TASKLIST |...

Выполнение следующей команды только после завершения предыдущей
Здравствуйте. При выполнении команд "start winrar", "copy", "del" в bat файле происходит следующее:...

Выполнение команды после завершения предыдущей с привязкой к файлу
Вопрос может показаться не по теме, но немного терпения. Имеется команда декомпилирования файла.chm...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.