Но моя проблема в другом. По словам Заголовка, я хочу постоянно проверять, запущена ли программа. Так что я сделал МОЙ пакетный файл вот так.
Который, кажется, тоже не работает. И самое сложное из всех, я просто новичок в партии, поэтому я не понимаю большинство вещей здесь Благодарю вас.
изменён Community 1
задан Bhanu Kumar 33
1 ответ 1
Проверьте, запущен ли процесс или нет, и запустите несколько программ, если нет, и завершите работу. Я хочу постоянно проверять, работает ли программа
Приведенное ниже описание должно работать при необходимости вызывать пакетные сценарии один за другим и в основном просто проверять в памяти на компьютере, с которым выполняется команда TASKLIST для подтверждения его выполнения. Если он не запущен, вызывайте пакетные сценарии один за другим; в противном случае перейдите к процедуре :B и начните проверку заново. Если он запущен, то выполните ECHO «%MyProcess%» est en cours d^’execution а затем перейдите к процедуре :B и проверьте еще раз для подтверждения (непрерывная проверка). ВНИМАНИЕ: Убедитесь, что у вас есть GOTO EOF в конце вызываемых пакетных сценариев и НЕ EXIT иначе они не передадут управление вызывающей стороне, чтобы исходный пакет мог продолжить проверку цикла. (см. ниже пример CALLED SCRIPT ПРИМЕР).
FAQ. Как создать .bat файл?
СЦЕНАРИЙ, КОТОРЫЙ ИМЕЕТ ПРОВЕРКУ ЛОГИКИ (используйте эту)
(Я предполагаю, что вызываемые пакетные сценарии будут иметь логику для запуска любого процесса, который, как было установлено, НЕ найден работающим в памяти на компьютере, на котором выполняется сценарий abobe, поэтому просто убедитесь, что GOTO EOF — это последнее, что ВСЕ делают. Мне нужно было бы увидеть логику в них, чтобы знать, будет ли это работать нормально или нет, хотя в противном случае.)
ПРИМЕР ВЫЗВАННОГО СКРИПТА (например, 1.bat, 2.bat, 3.bat)
. Keep GOTO EOF here to pass control back to the caller GOTO EOF
ДРУГИЕ ЗАМЕЧАНИЯ
- Вы можете поместить логику в тот же пакетный сценарий, который запускают три отдельных называемых пакетных сценария, и просто вызывать их как метки подпрограммы, но мне нужно было бы увидеть логику в них, чтобы убедиться, что она будет работать. Пока у каждого из них есть GOTO EOF внизу, они будут работать одинаково, но таким образом вся логика будет в одном и том же файле пакетного сценария.
- Логика пакетного сценария с TASKLIST и FINDSTR как я это понимаю, должна работать без синтаксиса [ /NH /FI imagename eq ], как в примере, который вы показали в своем вопросе. Использование FINDSTR вместо FIND как в вашем примере, также хорошо.
- У меня есть логика с пакетным аналогом этому, которая локально и удаленно проверяет процессы, запущенные на серверах, которые либо автоматически исправляют то, что вы делаете, либо отправляют электронное письмо, чтобы указать, что кому-то нужно уделить внимание, поэтому я подтвердил это Метод логики сценария, который я предоставил, работает с успехом. У меня просто нет всей вашей логики для оптимизации, подтверждения и т.д. В противном случае.
Источник: poweruser.guru
Как создать bat файл в Windows
проверка запущенного процесса через bat файл
Как проверить запущен ли процесс в Windows? Открываем cmd и вводим:
tasklist /FI «IMAGENAME eq process.exe»
где process.exe — имя процесса
Для получения более подробной информации о параметрах и фильтрах команды tasklist вводим:
tasklist /?
Если же это необходимо делать постоянно или использовать где то, то создаем файл с расширением *.bat, ОБЯЗАТЕЛЬНО В КОДИРОВКЕ 866 (OEM — русская) или 1251 (ANSI — кириллица) и записываем в него следующее содержимое:
Так же есть альтернативный вариант:
Сохраняем файл и смотрим на результат…
Источник: www.prolinux.org
Как проверять запущен ли процесс и если не запущен — запустить?
Всем привет.
Мне нужно защитить программу при подозрительном процессе, то есть если процесс задетекчен — включить защиту, хочу я сделать это так:
1. Создать бат файл, запустить его и он будет постоянно проверять запущен ли мой «антивирус», если он закрылся — опять его запустить
2. Создать VBS файл и так же запустить и проверять.
Помогите сделать правильно, а то один раз сделал и у меня почему то кучу раз запускалось в итоге комп зависал.
Последний код был таким:
Это бат, но когда я запускал его в программе — у меня тупо по сто раз открывалось и комп зависал.
Хелп)0
- Вопрос задан более трёх лет назад
- 635 просмотров
Комментировать
Решения вопроса 1
1) Сделать его службой, с автозапуском.
2) Сделать два процесса, которые смотрят друг на друга, и при необходимости «подымают» (такое использовалось при атаке на атомные электростанции, Марк Руссинович своими утилитами на докладе вычищал это дело). Чтобы не запускалось копий больше чем необходимо можно использовать объект синхронизации ядра (это пару строк на C#).
Вот видео с привязкой ко времени с Марком — https://youtu.be/bNJ3HR6Z0v8?t=1964
О, обратил внимание что вы увлекаетесь ИБ, я там около года крутился, столько всего насмотрелся, что в интернет боюсь заходить 🙂
Рекомендую связаться с ребятами из Pentestit, там и чат есть.
Источник: qna.habr.com