Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1494 connectés 

  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Arret services a l'arret de windows

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Arret services a l'arret de windows

n°2731119
azubal
Posté le 24-10-2007 à 12:10:09  profilanswer
 

hello tout le monde,
J'ai bricolé un service windows (qui pilote un périphérique) et tout fonctionne bien :
- quand je démarre le service (net start monservice) le périphérique démarre.
- quand j'arrête mon service (net stop monservice) le périphérique s'arrette.
 
Bon par contre quand j'arrête l'ordinateur, je pensais que windows arrêtait les services proprement avant de se couper mais il semblerait que ce ne soit pas le cas, du coup mon périphérique reste allumé  :jap:  
 
 
Ya pas un moyen de dire a windows de faire son boulot correctement ?

mood
Publicité
Posté le 24-10-2007 à 12:10:09  profilanswer
 

n°2731120
Jovial
It's clobberin' time
Posté le 24-10-2007 à 12:16:25  profilanswer
 

Que veux tu dire par "mon périphérique reste allumé" ?
Il reste allumé alors que le PC est eteint ?

n°2731123
azubal
Posté le 24-10-2007 à 12:20:12  profilanswer
 

le périphérique dispose de sa propre alim.
Mon service envoie une commande au périphérique pour lui demander de s'arrêter proprement.
Cette commande est envoyé quand le service s'arrête (au moment du net stop par exemple).
Mais a l'arrêt de windows le service ne s'arrête pas proprement (et donc n'arrête pas mon periph)

n°2731132
Jovial
It's clobberin' time
Posté le 24-10-2007 à 12:34:59  profilanswer
 

Par defaut, y a un timeout de 20 secondes avant que Windows decide de forcer un service à se fermer.
Essaye de le reduire.
Perso, je met entre 2 et 5 secondes, c'est bien suffisant
 
C'est dans le registre, au niveau de la valeur WaitToKillServiceTimeout
dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentcontrolSet\Control
 
Tu la passes à 2000 (pour 2 secondes) ou 5000 (pour 5 secondes)
Tu rebootes et c'est actif a la prochaine session

n°2731133
xanack
Posté le 24-10-2007 à 12:36:34  profilanswer
 

2 sec c'est bien trop court, il risque d'avoir un plantage a la fermeture, 5 secondes c'est mieux.

n°2731146
azubal
Posté le 24-10-2007 à 13:22:58  profilanswer
 

ca signifie qu'au bout de ce timeout (2/5sec), windows va arrêter proprement les services (dont le mien) avant de s'arrêter ?


Message édité par azubal le 24-10-2007 à 17:09:25
n°2731147
xanack
Posté le 24-10-2007 à 13:29:10  profilanswer
 

non cette clé fait reference a tous les services, pas au tien particulièrement..... je ne connais pas la réponse a ton pb pour ma part.

n°2731202
azubal
Posté le 24-10-2007 à 17:09:57  profilanswer
 

Euh oui, c'est ce que je voulais dire..
 
Bon, je testerai ce soir.
Merki :)

n°2731901
azubal
Posté le 27-10-2007 à 19:02:16  profilanswer
 

C'est re moi...
Ca ne fonctionne pas.
Il faut que lorsque j'éteins mon PC, il fasse pareil qu'un "net stop monservice". :/

n°2734367
azubal
Posté le 06-11-2007 à 18:57:07  profilanswer
 

Up :(

mood
Publicité
Posté le 06-11-2007 à 18:57:07  profilanswer
 

n°2734370
Profil sup​primé
Posté le 06-11-2007 à 19:03:42  answer
 

Tu peux toujours glisser un script de fermeture de windows dans la gpedit.msc (s'il s'agit d'une version 2000/xp professional bien entendu), indiquant un arrêt de Windows après qu'un net stop tonservice se soit correctement réalisé.


Message édité par Profil supprimé le 06-11-2007 à 19:04:28
n°2749898
gotrunk
Posté le 14-01-2008 à 09:00:47  profilanswer
 

Je suppose que pour détecter la demande d'arrêt tu t'inscrit sur l'événement SERVICE_CONTROL_STOP. Il faut savoir que lors de l'arrêt du système, Windows n'envoie pas cet événement aux services, il leur envoie l'événement SERVICE_CONTROL_SHUTDOWN.
 
Pour le recevoir il faut signaler au système que tu veux le recevoir par un appel à SetServiceStatus. Exemple :
    ...
    serviceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN ;  
    ...
    SetServiceStatus (serviceStatusHandle, &serviceStatus) ) ;


Message édité par gotrunk le 14-01-2008 à 09:01:15
n°2749925
azubal
Posté le 14-01-2008 à 11:38:54  profilanswer
 

Ahh, c'est exactement ca.
Merci à toi gotrunk.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Arret services a l'arret de windows

 

Sujets relatifs
Calendrier Windows Vista et Synchronisation PDAForcer l'utilisation d'une fenetre - Windows 2000 ou XP
Antivirus windows sur XPcontrole a distance sur Windows 2003 R2 X64 ou Vista X64
windows version oemWindows 95 supporte-t-il le des DD en RAID1 ?
windows ne reconnait plus mon graveur DVDWindows ne déparre plus : Unmoutable boot volume
Windows Home Server - Gestion des disques 
Plus de sujets relatifs à : Arret services a l'arret de windows


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR