1

У меня есть некоторые приложения, такие как VMWare, SQL Server, у которых много сервисов запущено даже без моего использования программного обеспечения. Я изменил запуск этих служб на ручной и создал файл .bat для запуска служб, а затем я запускаю программу.

Но это не эффективное решение. Я хотел бы запустить службы, как только приложение запускается, и останавливаться, когда приложение также закрывается.

Кто-нибудь знает какое-либо решение?

4 ответа4

1

получите скрипт для запуска программы, используя:

запуск / ожидание application.exe

Параметр /wait будет ожидать его завершения, а затем продолжить:

чистая остановка

0

Многие приложения могут запускать требуемый сервис самостоятельно, если он еще не запущен при выполнении программы. Но главная проблема заключается в том, что запуск / остановка служб требуют прав администратора. Поэтому, если приложение не является одним из тех, которые вы запускаете как администратор, это не будет работать.

Но есть небольшой инструмент командной строки, который позволяет дать обычным пользователям разрешение на запуск и / или остановку определенных служб:

SCAcl.exe http://www.losoft.de/ls_scacl.html

0

В файле .bat вы можете:

1) запустить необходимые сервисы

2) выполнить конкретную программу и дождаться завершения

3) остановить службы, которые были запущены в 1)

Вы можете пойти дальше - иметь исполняемую программу (ы) в качестве параметра (ов) для файла .bat на случай, если нескольким программам понадобятся одинаковые или одинаковые службы.

0

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

Если пакетный файл запускается и остается открытым в фоновом режиме, он может сделать это при выходе из программы, но действительно ли вы хотите, чтобы окно команд открывалось все время, пока вы используете вашу программу, и ждете, пока вы прекратите ее использовать? Это свело бы меня с ума.

Я бы использовал ваш пакетный файл для запуска служб, затем запустил программу и не беспокоился о том, что службы остановятся, пока перезагрузка не сделает это за вас, или не создам отдельный пакетный файл, чтобы остановить службы, если вы действительно этого хотите. Вот пример пакетного файла для начала:

net start ServiceName net start Service_Name "C:\Program Files\Microsoft Office\Office14\winword.exe"

Вы можете найти реальные названия служб, необходимых для запуска / остановки сети здесь:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .