Войти

Показать полную графическую версию : Остановить вручную сервис в сосотоянии stopping


Osya
20-06-2003, 16:17
Сабж.

kill не пойдет потому что уже использован, reboot понятно почему.

В списке сервис все равно есть и после kill, и в том же состоянии, что делать подскажите?



Добавлено:

Вдогон:

как определить кто занял конкретный файл, убить его и освободить этот файл?

главное -- без ребута

bgg0408
20-06-2003, 16:47
to Osya
Сервис stopped - он остановлен, выгружен из памяти и т.д.
Бывают сервисы/драйвера, которые так криво написаны, что не могут нормально выгрузиться. У меня дома пара таких штук есть.


Добавлено:

to Osya
Есть такая программа Procexp или SysInternals Proccess Explorer. Позволяет просматривать дескрипторы, а соответственно ресурсы каждой программы. С помощью этой проги можно убить некоторые "неубиваемые" процессы :gigi:

Osya
20-06-2003, 16:50
"stopping" != "stopped"

Добавлено:

"service"!="process"  

bgg0408
20-06-2003, 16:59
to Osya
Т.е он "стоппится"  и зависает. ProcExp годится и для сервисов.

Osya
20-06-2003, 17:14
после смерти (kill) процесса соответствующего сервису его ничем таким не поймать, однако, как я понимаю это не все что к сервису относится и он продолжает виснуть...

vasketsov
20-06-2003, 17:40
Osya
Некоторые службы так созданы, что несколько служб живут в одном процессе. В этом случае kill вообще не подойдет.

Ну и ясно, что kill для сервера БД, например, это не решение. Может просто оно долго останавливается?

В общем случае - корректно перевести службу из состояния Stopping в Stopped извне невозможно, это состояние - то, что возвращает сама служба, и reboot - тоже некорректная операция в общем случае, система просто ждет некоторое время, а потом ей уже безразлично, остановилась служба или нет.

bgg0408
20-06-2003, 18:49
to Osya
vasketsov прав. Служба сама возвращает свое состояние. Что хочет, то и делает.

bgg0408
23-06-2003, 13:11
to Osya
"service"!="process"
Да я и сам знаю. Некоторые сервисы запускаются, как отдельные процессы, другие же выполнены в виде системных драйверов.
Примеры (сервис как процесс):
1. Norton Antivirus
2. Norton SpeedDisk(nopdb.exe)
3. MsiInstaller(msiexec.exe)
и многие другие.




© OSzone.net 2001-2012