Notifier les programmes utilisateurs des évènements ACPI
acpid est conçus pour notifier les programmes utilisateurs des évènements ACPI. acpid devrait être démarré durant le boot. Il va ouvrir le fichier d'event (/proc/acpi/event) et tenter de lire toutes les lignes qui représentent les events ACPI. S'il n'existe pas, acpid tente de se connecter au kernel linux via la couche d'entrée et netlink. Quand un event ACPI est reçu d'une de ces sources, acpid examine une liste de règles, et exécute les règles qui matchent l'event. Il ignore tous les events ACPI entrant si un fichier /var/lock/acpid existe.
Les règles sont définies par de simples fichiers de configuration (dans /etc/acpi/events par défaut), et parcoure tous les fichiers réguliers. Les lignes blanches, ou commençant par un '#' sont ignorés. Chaque ligne a 3 tokens: la clé, un signe '=' et la valeur. La clé peut avoir 63 caractères, et est sensible à la casse. La valeur d'event est une expression régulière.
La valeur de l'action est une ligne de commande, qui sera invoqué via /bin/sh quand un event match la règle. La ligne de commande peut contenir des caractères spéciaux et seront préservés. Le seul caractère spécial dans la valeur action est '%'. La chaîne %e remplace le texte de l'event. %% sera remplacé par %.
Cette fonctionnalité permet à plusieurs règles d'être définies pour le même event. Pour forcer acpid à recharger les règles de configuration, lui envoyer un SIGHUP.
En plus des fichiers de règles, acpid accepte également des connections sur un socket UNIX (/var/run/acpid.socket par défaut). Une fois connecté, acpid envoie le texte de tous les events ACPI au client. acpid ne ferme pas le socket client excepté dans le cas d'un SIGHUP ou quand acpid se termine.
acpid log toutes ses activités dans sysylog.