AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Wie den Startzeitpunkt des Service beim Booten optimieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie den Startzeitpunkt des Service beim Booten optimieren?

Ein Thema von r29d43 · begonnen am 28. Jan 2008 · letzter Beitrag vom 28. Jan 2008
Antwort Antwort
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#1

Wie den Startzeitpunkt des Service beim Booten optimieren?

  Alt 28. Jan 2008, 10:20
Hi,


wenn mein Service beim Booten mitgestartet wird, dann scheint zu diesem Zeitpunkt aber leider schon ein wichtiges Ereignis vorbei zu sein, ..welches der Service aber eigentlich schon mitprotokollieren hätte sollen. Es wäre also notwendig, diesen Service beim Booten auch wirklich so früh wie überhaupt nur möglich aktionsfähig zu haben.


Gibt es da irgendwelche Möglichkeiten, solches event. mit der Property "LoadGroup" zu erreichen? Die Suchfunktion bringt bei diesem Begriff leider nur 0 (NULL) Treffer. Wie könnten bei dieser Property denn überhaupt relevante Eingaben aussehen?

Andere Möglichkeiten, den Servicestart zu beschleunigen, wären natürlich auch willkommen. Allerdings kann ich den Rahmen eines ServiceType=stWin32 imo nicht verlassen, und damit scheint auch der StartType=stAuto leider nicht mehr verbesserbar zu sein.


Irgendwelche Ideen diesbezüglich?


Thx...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Wie den Startzeitpunkt des Service beim Booten optimiere

  Alt 28. Jan 2008, 10:32
Mit "LoadGroup" kannst du angeben nach welchen Anderen Diensten dein Service gestartet werden darf (wegen Abhängigkeiten). Du müsstest also bei allen (von dir überwachten) Dienste eintragen das sie nach deinem Dienst starten sollen. Aber mach da nix falsch sonst hast du "kleine" Startprobleme.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Wie den Startzeitpunkt des Service beim Booten optimiere

  Alt 28. Jan 2008, 13:46
Thx, aber ich habe mich in der Zwischenzeit mal ein bisschen in der Registry danach umgesehen, was denn die übrigen Dienste da so unter "Group" eingetragen haben. ...Und da gab es dann Einträge (und damit also auch Gruppen) wie "Network", "SCSI miniport", "Boot Bus Extender", "TDI", "Extended Base" usw. usf.

Wenn man die gesammelten Namen dieser Gruppen jetzt noch alle irgendwo auslesen könnte, dann könnte man natürlich die erste davon einfach mal beim eigenen Service testweise eintragen...


Nur, wo in der Registry könnten man so eine Namensliste bzgl. dieser Gruppen denn mal zufälligerweise antreffen?
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Wie den Startzeitpunkt des Service beim Booten optimiere

  Alt 28. Jan 2008, 13:52
Das Stichwort wurde dir doch schon genannt.

Abhängigkeiten.

Welcher Service soll nach deinem Service starten?

Du musst dann bei diesem Service deinen Service eintragen, dann wird vor diesem Service dein Service geladen.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Wie den Startzeitpunkt des Service beim Booten optimiere

  Alt 28. Jan 2008, 14:47
Ok ok, das mit der Dependencies-Property habe ich jetzt auch zur Kenntnis genommen. Mein Problem ist nur, dass ich nicht weiß, ob das erwähnte Ereignis (welches von meinem Service protokolliert werden soll) überhaupt durch einen (anderen) Service verursacht bzw. gemanagt wird. ...wahrscheinlich eher weniger.

Fakt ist aber, dass dieses Ereignis (= das LogOn eines Benutzers am pysikalischen Terminal Service) zum jetztigen Startzeitpunkt (während des Bootvorganges) meines Service leider schon stattgefunden hat.

Genau betrachtet handelt es sich bei der Situation um das erste Einloggen des Users nach dem Booten bei ausgeschalteter Passworteingabe. Und irgendwie, denkt man doch einfach erstmal so, sollten doch zuerst die Services geladen sein, bevor das System dieses erste automatische Logon am Terminal Service ausführt. Das scheint aber irgendwie nicht ganz so der Fall zu sein.

...also versuchte ich deswegen auch zuerstmal den Ladezeitpunt meines Service irgendwie etwas vorzuverlegen. Und eben dazu scheint mir diese "LoadGroup"-Property doch immer noch irgendwie am vielversprechendsten zu sein, oder?


Ob das dann auch so funktioniert ist natürlich eine andere Frage,
...muss man eben mal (kurz) ausprobieren.
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Wie den Startzeitpunkt des Service beim Booten optimiere

  Alt 28. Jan 2008, 16:44
Also, die Liste dieser Service-Groups (welche man in die "LoadGroup"-Property seines eigenen Service eintragen kann) habe ich gefunden. Sie steht hier in der Registry: HKLM\SYSTEM\CurrentControlSet\Control\ServiceGroup Order


Hier mal kurz der Listeninhalt auf meinem PC:


System Reserved
Boot Bus Extender
System Bus Extender
SCSI miniport
Port
Primary Disk
SCSI Class
SCSI CDROM Class
FSFilter Infrastructure
FSFilter System
FSFilter Bottom
FSFilter Copy Protection
FSFilter Security Enhancer
FSFilter Open File
FSFilter Physical Quota Management
FSFilter Encryption
FSFilter Compression
FSFilter HSM
FSFilter Cluster File System
FSFilter System Recovery
FSFilter Quota Management
FSFilter Content Screener
FSFilter Continuous Backup
FSFilter Replication
FSFilter Anti-Virus
FSFilter Undelete
FSFilter Activity Monitor
FSFilter Top
Filter
Boot File System
Base
Pointer Port
Keyboard Port
Pointer Class
Keyboard Class
Video Init
Video
Video Save
File System
Event Log
Streams Drivers
NDIS Wrapper
COM Infrastructure
UIGroup
LocalValidation
PlugPlay
PNP_TDI
NDIS
TDI
Symantec Core Services
Symantec Services
NetBIOSGroup
ShellSvcGroup
SchedulerGroup
SpoolerGroup
AudioGroup
SmartCardGroup
NetworkProvider
RemoteValidation
NetDDEGroup
Parallel arbitrator
Extended Base
PCI Configuration
MS Transactions


Frage jetzt nochmal: In welche Group (möglichst weit am Anfang der Liste) könnte ich meinen Service jetzt wohl mal am gefahrlosesten eintragen? Wenn er nirgends eingetragen ist, dann wird er, gemäß PSDK, beim Bootvorgang nach all den Services geladen, welche ihrerseits aber in einer solchen Gruppe eingetragen sind.

?

Da ich in dem Service einen File-Zugriff habe sollte er dann vllt. auch hinter der "File System"-Group stehen? ...Und von daher bietet sich die "Event Log"-Group für meine Zwecke eigentlich geradezu an, zumal mein Service ja auch so eine ähnliche Funktion insgesamt hat. Das könnte man doch mal so riskieren, oder?

[edit: äh, ja, die liebe Grammatik usw.]
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Wie den Startzeitpunkt des Service beim Booten optimiere

  Alt 28. Jan 2008, 16:52
Normalerweise geht man an solch ein Problem von der anderen Seite her.
Man sucht den Service, der für den eigenen Service auf jeden Fall geladen sein muss und trägt dann beim eigenem Service eine Abhängigkeit ein.

zB. mein eigener Service braucht unbedingt den SQL-Server

...also schreibe ich dann in meinen eigenen Service als dependency den SQL-Server-Service hinein
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz