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

Проверять, запущен ли процесс, а если он не запущен, то запускать его

24.08.2015, 00:59. Просмотров 8047. Ответов 18
Метки нет (Все метки)

Всех приветствую. В интернете не нашёл ответа на свой вопрос.
Очень нужен vbs-скрипт, который будет проверять, запущен ли процесс, а если не запущен, то запускать его.
В принципе, вот пункты, которые важны.

1. Проверка процесса должна происходить раз в 15 минут.
2. Вот строка запускаемого процесса с параметрами:
Код
"RustDedicated.exe" -batchmode -Dfile.encoding=UTF-8 +server.hostname "LocalServer.Pro" +server.port 28015 +server.identity "d4t1" +server.maxplayers 30 +rcon.port 28016 +rcon.ip 192.168.1.2 +rcon.password 11112 +server.seed 123456
- Это сейчас прописано в батнике...батник не справляется с перезапуском как нужно.
3. Название проверяемого запущенного процесса: RustDedicated.exe.

Буду крайне благодарен тому, кто разбирается в Visual Basic Script'ах и поможет мне.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2015, 00:59
Ответы с готовыми решениями:

Проверять каждые 2-3 секунды, запущен ли файл 1.wav, если да, то запустить 1.bat
доброго времени суток подскажите пожалуйста как написать BAT CMD или VBScript...

Условия в bat файле если запущен процесс
Всем привет! Помогите пожалуйста с такой проблемой: пытаюсь создать bat файл...

Завершить процесс или запустить его в зависимости от того, запущен ли он в данный момент
Добрый день, помогите пожалуйста написать .bat который будет искать процесс...

Если bat-ник запущен с правами администратора,то выполнить команду
Всем здарова, хочу написать батник, когда вы его открываете то он проверяет...

Почему макрос работает, если создавать и запускать его в Командной строке, а если в пакетном файле, то нет?
Подскажите почему если вводить последовательно в командной строке DOSKEY...

18
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.08.2015, 10:10 2
батник не справляется с перезапуском как нужно.
разобраться со своим прежде, чем делать выводы никак? Где ваш батник?

Впрочем, не нужен. Приведу элементарный вариант на примере калькулятора:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
REM Батник отслеживания процесса и запуска при его отсутствии
REM 
REM Системные требования: Win OS (на локальной машине)
REM Разработчик: Бадло Сергей Григорьевич
REM H-page: [url]http://raxp2.blogspot.com[/url]
 
echo off
chcp 1251
 
set ProcessName="calc.exe"
:m1
cls
TaskList /FI "ImageName EQ %ProcessName%" | Find /I %ProcessName%>nul||(
rem Задержка через ping
ping localhost -w 3000 > nul
rem стартуем приложение, если не найдено (при необходимости прописываем параметры запуска)
start calc
)
goto m1
Сохраняем в 'proc.bat'. Для скрытого запуска батника пишем VBS-скрипт:
Visual Basic
1
CreateObject("Wscript.Shell").Run "proc.bat", 0, False
Сохраняем в 'run.vbs'. Запускаем его.
2
Dragokas
Эксперт WindowsАвтор FAQ
17049 / 7106 / 859
Регистрация: 25.12.2011
Сообщений: 10,918
Записей в блоге: 16
24.08.2015, 16:02 3
А в диспетчере задач он есть? ( RustDedicated.exe )
Может оказаться, что проверять нужно совсем другой процесс.
1
Vasek2
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 147
24.08.2015, 17:11  [ТС] 4
Цитата Сообщение от raxp Посмотреть сообщение
разобраться со своим прежде, чем делать выводы никак? Где ваш батник?
Мой батник:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
 
:LOOP
for /F %%i in ('tasklist /FI "IMAGENAME eq game.exe" ^| find /C "game.exe"') do (
    if "%%i" == "0" (
        start game.exe
    )
)
timeout 900 /nobreak > nul
GOTO :LOOP
game.exe есть тот самый процесс.

Добавлено через 19 секунд
Цитата Сообщение от Dragokas Посмотреть сообщение
А в диспетчере задач он есть? ( RustDedicated.exe )
Может оказаться, что проверять нужно совсем другой процесс.
Конечно есть))
0
Dragokas
Эксперт WindowsАвтор FAQ
17049 / 7106 / 859
Регистрация: 25.12.2011
Сообщений: 10,918
Записей в блоге: 16
24.08.2015, 17:22 5
Цитата Сообщение от Vasek2 Посмотреть сообщение
Конечно есть))
Для серверных игр запуск часто происходит через лаунчер, который является только промежуточным процессом.
Цитата Сообщение от Vasek2 Посмотреть сообщение
Мой батник:
Пришлите в виде файла.
К find добавить ключик /i
GOTO :LOOP - убрать двоеточие.
Второй строкой дописать:
Windows Batch file
1
SetLocal EnableExtensions
Команду tasklist ввести в консоль и проверить, работает ли вывод списка процессов вообще (может, у Вас служба WMI отключена).

Добавлено через 3 минуты
И неплохо бы детальнее пояснить вот это, что конкретно происходит.
Цитата Сообщение от Vasek2 Посмотреть сообщение
батник не справляется с перезапуском как нужно.
Цитата Сообщение от Vasek2 Посмотреть сообщение
Конечно есть))
Так все-таки процессы разные? Почему у Вас в батнике game.exe, а в 1-м посту RustDedicated.exe?
Пришлите полный релизный батник. Может у Вас там путь для запуска RustDedicated.exe неправильно прописан.
Может у Вас батник лежит рядом с ним, а запуск проихсодит от Админа или с ярлыка, который меняет рабочий каталог... еще миллион причин.
1
Vasek2
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 147
24.08.2015, 17:27  [ТС] 6
Цитата Сообщение от Dragokas Посмотреть сообщение
(может, у Вас служба WMI отключена)
WMI включена (это же Служба Инструментов Windows?).
Сейчас сделаю так, как Вы просите.

Добавлено через 4 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
Так все-таки процессы разные? Почему у Вас в батнике game.exe, а в 1-м посту RustDedicated.exe?
Пришлите полный релизный батник. Может у Вас там путь для запуска RustDedicated.exe неправильно прописан.
Может у Вас батник лежит рядом с ним, а запуск проихсодит от Админа или с ярлыка, который меняет рабочий каталог... еще миллион причин.
Я прислал шаблон, который мне на другом форуме составили. И вместо game.exe я подставлял RustDedicated.exe уже на своём компьютере. И параметры я тоже подставлял.
Батник запускает процесс cmd правильно, но в консоли не отображается НИЧЕГО, кроме надписи:
Код
"Setting breakpad minidump AppID = 252490"
Естественно такой "номер" меня не устраивает, т.к. я должен ведь следить, что происходит в консоли.
А так скрипт точно такой же, что я показал(пути все верные). Клал я батник рядом с exe-файлом. Пытался прописать и полный путь и просто название процесса. Результат один и тот же!
Windows 7 x64.
0
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.08.2015, 17:34 7
tasklist - системная утилита и от WMI не зависит (список процессов не идет через моникер winmgmts).
0
Vasek2
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 147
24.08.2015, 17:42  [ТС] 8
В общем тему заминаем. Нашёл человека, который платно напишет VBS-скрипт проверки процесса.
Я ещё раз повторяю - БАТНИК МНЕ НЕ НУЖЕН.
0
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.08.2015, 17:44 9
...госпидя, да в любом VBS-справочнике есть получение списка процессов (работа VBS скрипта в этом случае будет зависеть от WMI). Но хозяин-барин, капса только поменьше. Это к крику приравнивается, а на форуме спокойная обстановка.
1
Dragokas
Эксперт WindowsАвтор FAQ
17049 / 7106 / 859
Регистрация: 25.12.2011
Сообщений: 10,918
Записей в блоге: 16
24.08.2015, 18:08 10
raxp, зависит.
Попробуй это:
Windows Batch file
1
2
3
net stop winmgmt /y
sc config winmgmt start= disabled
tasklist
Добавлено через 6 минут
Цитата Сообщение от Vasek2 Посмотреть сообщение
В общем тему заминаем. Нашёл человека, который платно напишет VBS-скрипт проверки процесса.
Я ещё раз повторяю - БАТНИК МНЕ НЕ НУЖЕН.
Если что на будущее: VBScript - это в другом разделе форума.
Цитата Сообщение от Vasek2 Посмотреть сообщение
Батник запускает процесс cmd правильно, но в консоли не отображается НИЧЕГО, кроме надписи:
А что там должно отображаться?
Если речь о консоле cmd - то там вообще ничего не должно отображаться.
1
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.08.2015, 18:09 11
...интересно, после дисейбла в конфигураторе перестал. Будем знать, спасибо
0
Vasek2
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 147
24.08.2015, 20:27  [ТС] 12
Цитата Сообщение от Dragokas Посмотреть сообщение
Если речь о консоле cmd - то там вообще ничего не должно отображаться.
Так вот именно, почему там ничего не должно отображаться?) Как я буду следит за консолью то?
0
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
24.08.2015, 21:08 13
Для VBS есть Wscript, который в окно консоли ничего не пишет. Есть другой сервер сценариев - Cscript. Впрочем, вам же платно напишут, смысла обсуждать уже нет.
0
Dragokas
Эксперт WindowsАвтор FAQ
17049 / 7106 / 859
Регистрация: 25.12.2011
Сообщений: 10,918
Записей в блоге: 16
24.08.2015, 21:31 14
Цитата Сообщение от Vasek2 Посмотреть сообщение
Так вот именно, почему там ничего не должно отображаться?) Как я буду следит за консолью то?
Вопрос изначально стоял в том, что
Цитата Сообщение от Vasek2 Посмотреть сообщение
батник не справляется с перезапуском как нужно.
а не в том, что консоль не отображает ход своей работы.
Не отображает ибо ей не даны такие инструкции, а даже наоборот частично спрятаны перенаправлением потока в > nul

Добавлено через 1 минуту
Если автор не против, перенесу тему в раздел Batch.
Все равно здесь уже не планируется кода на VBScript.
1
Vasek2
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 147
25.08.2015, 15:14  [ТС] 15
Цитата Сообщение от Dragokas Посмотреть сообщение
Если автор не против, перенесу тему в раздел Batch.
Все равно здесь уже не планируется кода на VBScript.
Пока не нужно.
Исполнитель ещё не утверждён..... может сольётся ещё.

Батник не работает как нужно.
Поясню.
Это всё нужно для сервера игрового - Rust.
Друг у меня на компьютере поставил сервер.
Проблема в том, что сервер периодически нужно выключать полностью командой с сайта, чтобы этот сервер обновить до актуальной версии.
Мы заметили, что если с сайта слать команду, то сервер то выключается... но батник не стартует его через нужное количество времени.
Поэтому я и решил, что лучшим вариантом будет не неделю париться с батником, а сразу сделать всё на VBS.
Надеюсь, я теперь ясно пояснил? Я уже даже разжевал...

Добавлено через 17 часов 32 минуты
Тему можно закрывать. Скрипт написан.
0
Dragokas
Эксперт WindowsАвтор FAQ
17049 / 7106 / 859
Регистрация: 25.12.2011
Сообщений: 10,918
Записей в блоге: 16
25.08.2015, 17:49 16
Это все лишнее.
Реальный код, который запускался на сервере, упакованный в архив zip, и прикрепленный к сообщению - вот самое лучше объяснение.

Цитата Сообщение от Vasek2 Посмотреть сообщение
Тему можно закрывать. Скрипт написан.
Зачем так кричать. Оставьте красный цвет для администрации. Темы у нас не закрываются. Читайте правила форума.
0
raxp
10188 / 6571 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
25.08.2015, 17:51 17
Мы заметили, что если с сайта слать команду, то сервер то выключается... но батник не стартует его через нужное количество времени.
какие-то сферические выводы без разбора причин происходящего.

Оставьте красный цвет для администрации.
поправь ему, красный уже перебор.
0
Vasek2
1 / 1 / 0
Регистрация: 17.11.2013
Сообщений: 147
25.08.2015, 18:00  [ТС] 18
Вот зачем нудятиной заниматься? Проблема решена. Спасибо всем, кто пытался помочь.
0
alpap
1806 / 1327 / 430
Регистрация: 26.04.2015
Сообщений: 4,536
28.08.2015, 17:08 19
Vasek2, Не, ну со своим кипятильником, нашу воду кипятить, пришли за водой, так и отлейте другим немножко.
0
28.08.2015, 17:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2015, 17:08

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

Как проверить, запущен ли ftp сервер?
На машине должны быть запущены: апачь, лайт манагэ и ftp, на маршрутизаторе...

Как создать папку там, где запущен bat?
Как создать папку там, где запущен bat? Eсли в банте просто написать "md...


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

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

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