Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.99/135: Рейтинг темы: голосов - 135, средняя оценка - 4.99
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 3
1

Автоматический запуск приложения после его закрытия

30.10.2012, 02:29. Просмотров 27764. Ответов 19
Метки нет (Все метки)


Есть приложение, которое должно работать 24/7. Необходимо написать Bat-ник, который бы запускал это приложение автоматически после его закрытия. Помогите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2012, 02:29
Ответы с готовыми решениями:

Автоматический запуск приложения после его закрытия со счётчиком перезапусков
Где то натыкался на такую возможность: автоматический запуск приложения (в виндовс) после его...

Запуск N-ного батника после закрытия приложения
Привет форумчанам! Требуется реализовать в bat-файле такое: 1. Запуск приложения (.\Game.exe)...

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

Автоматический запуск приложения со съемного носителя
Вот появился такой вопрос: как запустить приложение со съемного носителя? autorun.inf крутил, но...

19
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
30.10.2012, 02:43 2
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Bash
1
2
3
4
5
6
7
@echo off
set fullname=c:\utils\proga.exe
set prog=proga.exe
:waiting
tasklist |>nul FindStr /B /L /I /C:%prog%&&(ping -n 1 -w 1000 192.168.254.254>NUL & goto :waiting)
start "" "%fullname%"
goto :waiting
1
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 3
30.10.2012, 06:38  [ТС] 3
Можете объяснить какая команда за что отвечает ? то я не селен в этом деле
0
Клюг
7668 / 3183 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
30.10.2012, 11:56 4
Цитата Сообщение от kossmos
Можете объяснить какая команда за что отвечает ?
Ищем приложение в списке задач
Цитата Сообщение от Dragokas
tasklist |>nul FindStr /B /L /I /C:%prog%
И, если нашли, ждем 1 сек.(ping и т.д. - просто задержка), и крутимся в цикле.
Цитата Сообщение от Dragokas
&&(ping -n 1 -w 1000 192.168.254.254>NUL & goto :waiting)
А если приложения нет, то запускаем:
Цитата Сообщение от Dragokas
start "" "%fullname%"
Dragokas, а почему пингуем локалку 192.168 а не loopback? Могут же быть и 10.x и 172.16-172.31... Или, чур меня, чур, 169.254
1
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
30.10.2012, 12:31 5
Цитата Сообщение от Charles Kludge Посмотреть сообщение
почему пингуем локалку 192.168 а не loopback?
Bash
1
ping -n 1 -w 1000 192.168.254.254>NUL
Смысл в том, чтобы пинг не прошел.
192.168.254.254 - это заведомо не существующий IP-адрес.
Он то, конечно, может реально существовать в локалке, но с очень низкой вероятностью кто-нибудь себе поставит подсеть 254.

Можно и себя. Но там 1-й пакет тогда приходит сразу без учета паузы. Поэтому нужно еще единичку прибавлять к кол-ву запросов.
Bash
1
ping 127.0.0.1 -n 2 -w 1000
2
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 3
30.10.2012, 13:03  [ТС] 6
Цитата Сообщение от Dragokas Посмотреть сообщение
Вроде работает все как надо, но может быть что то еще нужно дописать?
сейчас опишу процесс что должен делать bat-ник,то есть я запускаю первый .exe он запускает второй .exe и процесс,мне нужно чтоб проверяло работает процесс или нет, если нет то запускает первый .exe
0
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
30.10.2012, 14:52 7
Пишите в строку № 2 путь к первой программе.
А в строке № 3 название второй программы (откройте диспетчер задач Ctrl+Shift+Esc - там увидите точное имя)
0
NLAndy
24.02.2013, 21:27 8
У меня батник запускает нужный файл и закрывается, не остается висеть проверяя его состояние. windows 7.
Попробовал в этом случае запускать из первого второй батник тот в свою очередь снова запускает первый, параллельно проверяя состояние, но теперь командная строка выдает: "waiting" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Не удается найти указанную метку пакетного файла - waiting

В чем может быть дело?
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
25.02.2013, 00:18 9
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Возможно, Вы допустили ошибку № 4 Наиболее частые ошибки.

Также прилагаю другой вариант паузы:
Bash
1
2
3
4
5
6
7
8
@echo off
set fullname=c:\windows\system32\calc.exe
set prog=calc.exe
 
:begin
tasklist /fi "IMAGENAME eq %prog%"|>nul find "%prog%"||start "" "%fullname%"
>nul ping 127.1 -n 6
goto :begin
Указанный в посте № 2 может вызывать зависания на некоторых серверных системах.
1
92 / 92 / 4
Регистрация: 25.06.2012
Сообщений: 278
25.02.2013, 01:13 10
Цитата Сообщение от NLAndy Посмотреть сообщение
"waiting" не является внутренней или внешней командой
Опечатка в 4й строке второго поста: двоеточие стоит не в начале, а в конце. Из-за этого ошибка.
1
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
25.02.2013, 01:58 11
Badger, спасибо. Исправил.

Непривычка после Visual Basic - там наоборот.
0
8 / 3 / 0
Регистрация: 05.02.2014
Сообщений: 42
01.04.2015, 10:42 12
Неофициальное продолжение (темы)...
0
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
01.04.2015, 11:07 13
Или так: Делаем паузу в командном файле стандартными средствами Windows
0
0 / 0 / 0
Регистрация: 21.08.2017
Сообщений: 3
21.08.2017, 14:55 14
Доброго времени суток! Подскажите если используем код из 2-го поста.
Кликните здесь для просмотра всего текста

Bash
1
2
3
4
5
6
7
@echo off
set fullname=c:\utils\proga.exe
set prog=proga.exe
:waiting
tasklist |>nul FindStr /B /L /I /C:%prog%&&(ping -n 1 -w 1000 192.168.254.254>NUL & goto :waiting)
start "" "%fullname%"
goto :waiting

Можно ли как то задать время опроса проверки? Что бы не каждую секунду было.

И еще вопрос, при возникновении ошибки и вывода окна - Приложение будет закрыто (Отправить отчет или Не отправить отчет) поможет ли батник?
0
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
21.08.2017, 15:16 15
Цитата Сообщение от akadeface Посмотреть сообщение
Можно ли как то задать время опроса проверки? Что бы не каждую секунду было.
увеличьте параметр -w 1000

Можно вообще без опроса:
Windows Batch file
1
2
3
:begin
start /w "" "c:\utils\proga.exe"
goto begin
Может прокатить, может, нет. Зависит от конкретной программы.

Цитата Сообщение от akadeface Посмотреть сообщение
Приложение будет закрыто (Отправить отчет или Не отправить отчет)
Чьё приложение?
Цитата Сообщение от akadeface Посмотреть сообщение
поможет ли батник?
смотря помощь в чём нужна.
0
0 / 0 / 0
Регистрация: 21.08.2017
Сообщений: 3
21.08.2017, 18:59 16
Имеется OPC сервер и с непонятной переодичностью выскакивает ошибка с окном отправить и не отправить отчет, хочу что бы сам перезапускался
0
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
21.08.2017, 23:15 17
Цитата Сообщение от akadeface Посмотреть сообщение
и с непонятной переодичностью выскакивает ошибка с окном отправить и не отправить отчет
Обратитесь к разработчику этой программы.
0
0 / 0 / 0
Регистрация: 21.08.2017
Сообщений: 3
22.08.2017, 18:47 18
Не все так просто
0
Эксперт WindowsАвтор FAQ
17601 / 7444 / 884
Регистрация: 25.12.2011
Сообщений: 11,236
Записей в блоге: 16
22.08.2017, 18:49 19
Попытка не пытка.
0
Эксперт Python
4390 / 3252 / 1054
Регистрация: 28.10.2013
Сообщений: 8,375
Записей в блоге: 1
22.08.2017, 21:29 20
Цитата Сообщение от akadeface Посмотреть сообщение
выскакивает ошибка с окном отправить и не отправить отчет
Так это часом не обычное ли сообщение windows о крахе программы и предложении отправить отчет в microsoft (показали бы скриншот что ли)?
Если приложение фатально умирает, причем так что windows заботливо перехватывает его крах, но вы хотите чтобы оно умирало молча, то остается только отключить сообщения (и отчеты) о таких ошибках в windows. Или попросить разработчика исправить глюк программы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2017, 21:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Запуск приложения и его удаление
Необходимо написать батник в 2 строки: запуск определенного приложения по заданному пути и удаление...

Запуск reg-файла после проверки времени его создания
Фуромчане, помогите Попробовал разбраться сам, потрател день, но так и не получилось Задача...

Автоматический запуск команд в консоли
Есть консольная программа, adb.exe. Чтобы ее запустить, я вынужден каждый раз переходить в папку с...

Автоматический запуск приложения после компиляции
где то есть такая опция - компелируешь dll и после компеляции студия должна запустить прилодение,...


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

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

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