• [^] # Re: Nope

    Posté par . En réponse au journal Mon point de vue sur Archlinux. Évalué à 5.

    Houlala, ya des gens qui imaginent des trucs aussi fous à propos de systemd oO ? Je comprends que certain y résistent…

    Donc, non, pas du tout, pour lancer un daemon avec systemd, dans le cas le plus simple, y suffit d'un fichier du style :

    # blabla.service
    [Unit]
    Description=Blabla
    [Service]
    ExecStart=/chemin/vers/le/daemon/blabla arguments
    
    

    Et c'est tout (ça remplace les initscripts).

    Ce fichier tout simple va considérer que les ressources mises à disposition par le service le sont instantanément (c'est le cas avec la socket-activation, par exemple), et que le daemon ne fork pas, mais on peut aussi rajouter une ligne Type=forking pour dire que les ressources sont dispos une fois que le daemon a forké, enfin il ya tout un tas de variantes, par exemple un Type=dbus pour considérer que le lancement est fini quand le daemon a pris un nom sur le bus (et là aussi, le daemon n'a pas à forker). Savoir quand est-ce qu'un service a fini son démarrage est important pour ordonner les dépendances.

    Un support spécifique de systemd est requis si on veut utiliser la feature de socket-activation (mais ça casse pas trois pattes à un canard, ça consiste à aller lire dans des variables d'env quels sont les numéros des file descriptors déjà ouverts par systemd, rien de bloat), ou la feature de notification (en mettant Type=notify dans le fichier de conf) qui consiste a dire à systemd via une socket quand est-ce que le service est complètement initialisé.

    Pour les développeurs de daemon et les admin-sys, au contraire systemd simplifie drôlement les choses.
    Je t'invite à lire les billets de Lennart pour plus d'infos, même si tu compte pas passer à systemd c'est intéressant de voir ce qu'il est possible de faire.