2 votes

Patrons ou modèles dans les scopes systemd ?

Je travaille avec un service externe qui crée ses propres scopes systemd tels que system.slice/someapp.slice/instance-400.scope o user.slice/user-1000.slice/app-1234.scope .

Les noms de scope intègrent le pid, ils sont donc dynamiques. Le site Id y Name les deux correspondent exactement au nom de l'unité.

Est-ce que systemd offre un moyen d'écrire un .scope fichier d'unité qui s'appliquera [Scope] à toutes les instances de l'étendue en faisant correspondre le modèle de nom, ou est-ce quelque chose qui ne peut vraiment être fait qu'avec la coopération de l'application de lancement ?

Détails/relations à : Application automatique des limites de ressources du groupe de contrôle systemd à des applications utilisateur spécifiques dans une session gnome-Shell.

4voto

VLD Points 21

Fichiers de dépôt semblent permettre ce genre de dérogation. Voir man systemd.unit o cette documentation cité ci-dessous. Je pense que la clé fonctionnelle qui permettra d'appliquer le drop-in tout en ignorant la partie dynamique (PID) est la suivante :

De plus, pour les noms d'unité contenant des tirets ("-"), l'ensemble des répertoires générés par la troncature répétée du nom d'unité après tous les tirets est également recherché. Plus précisément, pour un nom d'unité foo-bar-baz.service, non seulement le répertoire de dépôt ordinaire foo-bar-baz.service.d/ est recherché, mais aussi foo-bar-.service.d/ et foo-.service.d/. Ceci est utile pour définir des drop-ins communs pour un ensemble d'unités liées, dont les noms commencent par un préfixe commun.

J'ai pu créer une telle dérogation pour la tranche d'utilisateur en utilisant ce qui suit (notez l'absence de PID après le dernier tiret) :

~$ systemctl --user edit --force app-.scope

Ce qui ouvre un éditeur de fichiers où vous pouvez ajouter vos options supplémentaires. Par exemple :

[Scope]
OptionOne=value
OptionTwo=value

Vous pouvez confirmer la présence du dépôt en utilisant :

~$ systemctl --user status app-1234.scope
[...]
Drop-In: /home/foo/.config/systemd/user/app-.scope.d
             override.conf
[...]

Pour la tranche de système, l'approche est probablement similaire, à l'exception du --user passé à systemctl .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X