Difference between revisions of "Daemons and Services/fr"

From Lazarus wiki
Jump to navigationJump to search
Line 25: Line 25:
 
Ce composant gère le service d'enregistrement. Chaque instance a besoin d'une entrée dans la propriété '''DaemonDefs'''.
 
Ce composant gère le service d'enregistrement. Chaque instance a besoin d'une entrée dans la propriété '''DaemonDefs'''.
  
=Daemon - Step by Step=
+
=Daemon - Etape par étape=
  
*When the daemon is started the command line parameters are parsed. The following are predefined:
+
*Lorsque le daemon est lancé, les  paramètres de la ligne de commande sont analysés. Les suivants sont prédéfinis:
  
**-i --install: register the daemon. This has no effect under unix.
+
**-i --install: Enregistre le daemon. Cela n'a pas d'effet sous unix.
**-u --uninstall: unregister the daemon. This has no effect under unix.
+
**-u --uninstall: Désenregistre le daemon. Cela n'a pas d'effet sous unix.
**-r --run: start the daemon. Windows does this normally itself.
+
**-r --run: Démarre le daemon. Windows fait cela normalement lui-même.
  
*Create the TDaemonMapper
+
*Création de la classe TDaemonMapper
  
*Create one TCustomDaemon for each entry of ''DaemonDefs''.
+
*Création d'une classe TCustomDaemon pour chaque entrée de ''DaemonDefs''.
  
*install, uninstall or run every instance.
+
*installe, Désinstalle ou exécute chaque instance.
  
*if run: start every instance in its own thread and then wait for Stop/TERM signal.
+
*Si exécution: Démarre chaque instance dans son propre thread et puis attendre le signal Stop/TERM.
  
 
=Daemon Methods=
 
=Daemon Methods=

Revision as of 12:15, 16 July 2009

English (en) español (es) français (fr) polski (pl) português (pt) русский (ru)

Que sont les daemons("service" Unix) et les services(windows)?

Les daemons Unix et les services windows sont des programmes fonctionnant sans interaction de l'utilisateur. Par exemple les serveurs www ou ftp sont appelés des daemons sous linux et des services sous windows. Parce qu'ils n'ont pas d'interaction avec l'utilisateur directement, ils ferment leurs descripteurs stdin, stdout, stderr au démarrage.

Avec Free Pascal, Lazarus il est possible d'écrire cette plate-forme de daemons/services indépendante au travers du paquet lazdaemon de Lazarus. Pour éviter les conflits de nom avec les composants de Delphi ces classes sont appelées 'daemons'.

Installer LazDaemon

Avant de pouvoir commencer, installer le paquet lazdaemon. Soit à travers Paquet -> Configurer les paquets installés... ou en ouvrant/installant le fichier lpk directement: lazarus/components/daemon/lazdaemon.lpk. Ce paquet installe quelques nouveaux composants et des éléments de menu dans l'IDE.

Les Classes

TCustomDaemon

C'est un descendant de la classe TDataModule qui fait tout le travail. Il peut y avoir plusieurs classes TCustomDaemons et/ou instances qui tournent en même temps et dans le même processus (multi threaded).

TCustomDaemonApplication

C'est un descendant de la classe TCustomApplication qui crée la classe TCustomDaemons. Cela ne nécessite pas de changement. Il s'exécute sous windows jusqu'à ce qu'il reçoive le signal d'arrêt ou sous linux jusqu'au signal TERM.

TDaemonMapper

Ce composant gère le service d'enregistrement. Chaque instance a besoin d'une entrée dans la propriété DaemonDefs.

Daemon - Etape par étape

  • Lorsque le daemon est lancé, les paramètres de la ligne de commande sont analysés. Les suivants sont prédéfinis:
    • -i --install: Enregistre le daemon. Cela n'a pas d'effet sous unix.
    • -u --uninstall: Désenregistre le daemon. Cela n'a pas d'effet sous unix.
    • -r --run: Démarre le daemon. Windows fait cela normalement lui-même.
  • Création de la classe TDaemonMapper
  • Création d'une classe TCustomDaemon pour chaque entrée de DaemonDefs.
  • installe, Désinstalle ou exécute chaque instance.
  • Si exécution: Démarre chaque instance dans son propre thread et puis attendre le signal Stop/TERM.

Daemon Methods

Start

Called when daemon should start. This method must return immediately with True.

Stop

Called when daemon should stop. This method must return immediately with True.

Shutdown

Called when daemon should be killed. This method must stop the daemon immediately and return with True. This is not triggered under Linux. Linux simply kills the daemon.

Pause

Called when daemon should pause. This method must return immediately with True. Under Linux this is not triggered because the kernel stops the whole daemon on STOP and continues it on CONT.

Continue

Called when daemon should continue after a pause. This method must return immediately with True. Under Linux this is not triggered.

Install

Called when daemon is registered as windows service. This method should return True on success.

Uninstall

Called when daemon is unregistered as windows service. This method should return True on success.

AfterUnInstall

Called after daemon was unregistered as windows service. This method should return True on success.

HandleCustomCode

Called when a special signal was sent to the daemon. This method should return True on success.

Getting Started

Before you are able to create a Service or Daemon application you must first ensure that the Lazarus Daemon package "lazdaemon" is installed.

Example

There is a simple example in examples/cleandir/. Read the README.txt.


Office Automation