Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Службы - [решено] вопрос: контроль за службой

Ответить
Настройки темы
Службы - [решено] вопрос: контроль за службой

Старожил


Сообщения: 402
Благодарности: 8

Профиль | Отправить PM | Цитировать


Добрый час ! Вопрос: можно ли средствами CMD контролировать статус службы (работает, пауза, останов), например может есть команда которая возвращает значение некого кода статуса ? Спасибо.

Отправлено: 13:05, 24-01-2008

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SavmiN:
а где наблюдение? »
команда запуска не пойдет дальше пока не запустит сервис, поэтому если сервис глюканет и не запустится скрипт зависнет в цикле... для перезагрузки нужно ставить условный выход из цикла по таймауту или количеству проверок
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:17, 04-02-2008 | #31



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

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


Аватара для SavmiN

Пользователь


Сообщения: 73
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Цитата amel27:
условный выход из цикла по таймауту или количеству проверок »
вот вот! то что и требовалось! - удели плиз несколько минут, если не сложно - подкоректировать с остановкой и ребутом ПК!
К примеру, если в течении минуты не запученна программа - то ПК перезагружается или отключается (во избежание самопроизвольного ребута)
Спасибо!

-------
Прежде чем «что-то» сделать — надо это «что-то» придумать ©
savmin.ru


Отправлено: 18:46, 04-02-2008 | #32


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SavmiN:
удели плиз несколько минут, если не сложно - подкоректировать с остановкой и ребутом ПК »
что-нибудь типа такого?
Код: Выделить весь код
@echo off

Set TIMEOUT=10 Rem таймаут ожидания в секундах
Set MXCOUNT=6  Rem количество попыток запуска/остановки

Set TCOUNT=%MXCOUNT%

IF "%USERNAME%"=="User-1" (
	CALL :SC_STOP SCHEDULE
	CALL :SC_DISABLE SCHEDULE
	CALL :SC_RESTART BROWSER
)
IF "%USERNAME%"=="User-2" (
	CALL :SC_ENABLE SCHEDULE
	CALL :SC_START SCHEDULE
	CALL :SC_RESTART SPOOLER
)
EXIT

:SC_STOP
	CALL :EX_REBOOT %TCOUNT%
	Set TCOUNT=%MXCOUNT%
	Set STATUS=
	@echo Остановка сервиса "%1"...
:SC_STOP_LOOP
	Set /A TCOUNT-=1
	SC STOP %1 >nul
	CALL :EX_SLEEP %TIMEOUT%
	For /F "Tokens=3 Usebackq Delims=: " %%i in (`SC QUERY %1^|FIND "STATE"`) Do SET STATUS=%%i
	If "%STATUS%"=="STOPPED" GOTO :EOF
If %TCOUNT% GTR 0 GOTO :SC_STOP_LOOP

:SC_START
	CALL :EX_REBOOT %TCOUNT%
	Set TCOUNT=%MXCOUNT%
	Set STATUS=
	@echo Запуск сервиса "%1"...
:SC_START_LOOP
	Set /A TCOUNT-=1
	SC START %1 >nul
	CALL :EX_SLEEP %TIMEOUT%
	For /F "Tokens=3 Usebackq Delims=: " %%i in (`SC QUERY %1^|FIND "STATE"`) Do SET STATUS=%%i
	If "%STATUS%"=="RUNNING" GOTO :EOF
If %TCOUNT% GTR 0 GOTO :SC_START_LOOP

:SC_ENABLE
	CALL :EX_REBOOT %TCOUNT%
	SC CONFIG %1 start= demand >nul
	@echo Сервис %1 включен!
GOTO :EOF

:SC_DISABLE
	CALL :EX_REBOOT %TCOUNT%
	SC CONFIG %1 start= disabled >nul
	@echo Сервис %1 отключен!
GOTO :EOF

:SC_RESTART
	CALL :SC_STOP  %1
	CALL :SC_START %1
GOTO :EOF

:EX_SLEEP
	Ping -n %1 127.0.0.1 >nul
GOTO :EOF

:EX_REBOOT
	If %1 EQU 0 (
		Shutdown -r -f -t 10 -c "Превышен таймаут ожидания"
		EXIT
	)
GOTO :EOF
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:42, 06-02-2008 | #33


Аватара для SavmiN

Пользователь


Сообщения: 73
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Цитата amel27:
типа такого »
ну наверное - пойду пробовать - расскажу позже!

-------
Прежде чем «что-то» сделать — надо это «что-то» придумать ©
savmin.ru


Отправлено: 12:42, 06-02-2008 | #34


Аватара для SavmiN

Пользователь


Сообщения: 73
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


amel27, рассказываю
при старте ОС кратковременно появляется окошко cmd и усЁ %(
пробую отключать наблюдаемую службу - хм.. отключается и ничего не происходит - не востанавливается, сообщения никакого нет! ребута нет %(
подскажИте ?

-------
Прежде чем «что-то» сделать — надо это «что-то» придумать ©
savmin.ru


Отправлено: 14:24, 08-02-2008 | #35


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SavmiN:
при старте ОС кратковременно появляется окошко cmd и усЁ »
а ты чего хотел - чтобы скрипт крутился бесконечно?.. изначально вопрос стоял о запуске скрипта при загрузке, если тебе нужно перегружать сервис периодически - ставь скрипт в планировщик задач. Кстати, проверить REBOOT можно вбив имя несуществующего сервиса - эффект тот же, что и при потере связи с сервисом.

Отправлено: 12:54, 09-02-2008 | #36


Аватара для SavmiN

Пользователь


Сообщения: 73
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Цитата amel27:
запуске скрипта при загрузке »
и наблюдении им за процессом pshell.exe
вот я и пытался его (pshell.exe) отключать - отключаю - но востановления не происходит! %(
Цитата amel27:
проверить REBOOT можно вбив имя несуществующего сервиса »
- поясни! в смысле для "User-2" к примеру чтото типа
Цитата amel27:
IF "%USERNAME%"=="User-2" (
CALL :SC_ENABLE SCHEDULE 123
CALL :SC_START SCHEDULE 123
CALL :SC_RESTART SPOOLER »
так чтоли ?

-------
Прежде чем «что-то» сделать — надо это «что-то» придумать ©
savmin.ru


Отправлено: 18:34, 09-02-2008 | #37


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SavmiN:
наблюдении им за процессом pshell.exe »
в чем заключается "наблюдение"?.. запустить если остановился?... или периодически перегружать чтобы убедиться что он не завис?.. и какой наконец у него ID (тот что из реестра), т.к. "pshell.exe" это имя образа

Цитата SavmiN:
отключаю - но востановления не происходит! »
естественно, так как скрипт стоит в автологоне, т.е. отрабатывает однократно - при регистрации пользователя, для постоянной проверки нужно использовать планировщик задач
Цитата SavmiN:
в смысле для "User-2" к примеру чтото типа »
SCHEDULE - ID службы планировщика задач
SPOOLER - ID службы диспетчера печати

:SC_DISABLE - отключить службу;
:SC_ENABLE - включить службу;
:SC_START - запустить службу;
:SC_STOP - остановить службу;
:SC_RESTART - SC_STOP+SC_START

Отправлено: 12:01, 11-02-2008 | #38


Аватара для SavmiN

Пользователь


Сообщения: 73
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Цитата amel27:
ID (тот что из реестра »
В общем-то я так и не нашел отдельного ID на "pshell.exe"
Возможно причина в том что именно эта программа не запускается службой ?

Но и даже та программа, которая запускается как служба (в частности - имя службы "GccServ" - это и есть ID? ) не получает наблюдения и рестарта в случае отключения или сбоя во время работы ПК

Цитата amel27:
наблюдение"?.. запустить если остановился?... »
или умышлено отключили процесс

Примерно так! Ппрограмма GC.exe управляет включением и остановкой(блокирует) ПК. Программа Pshell.exe - оболочка на ПК - ограничивает возможности пользователя и востанавливает GC.exe при перезапуске ОС - но не в процессе работы.
Тоесть - если отключить процесс pshell.exe то можно остановить процесс GC.exe и службу GCServ - и как следствие играться на ПК без ограничения времени. Вот и требуется наблюдение за процессами pshell.exe; gc.exe и службой GCServ и в случае их отключения или остановки - Вывести сообщение на экран "Чтото типа штраф 200 грн за умышленное отключение служб контроля" и снова их перезапустить или вырубить ПК.
Мда!! надо было сразу так обЪяснить Сорри!

-------
Прежде чем «что-то» сделать — надо это «что-то» придумать ©
savmin.ru


Отправлено: 15:43, 11-02-2008 | #39


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SavmiN:
надо было сразу так обЪяснить »

Цитата SavmiN:
"GccServ" - это и есть ID? »
мне отсюда не видно, проверь
Код: Выделить весь код
NET STOP GccServ
NET START GccServ
Цитата SavmiN:
требуется наблюдение за процессами pshell.exe; gc.exe и службой GCServ »
процессы под какой учеткой стартуют?.. смотри в диспетчере задач ("Имя пользователя")

Отправлено: 11:32, 12-02-2008 | #40



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Службы - [решено] вопрос: контроль за службой

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] контроль за службой foxbat Скриптовые языки администрирования Windows 11 30-07-2009 08:47
Система - [Решено]Изменение имени процесса запускаемого службой Ventrilo Tomonaka Программное обеспечение Windows 1 10-07-2009 23:02
[решено] Проблемы со службой печати на Win2003 banbug Microsoft Windows NT/2000/2003 6 29-01-2009 01:31
Загрузка - [решено] Контроль автозагрузки Basser Microsoft Windows Vista 5 08-06-2007 07:06




 
Переход