Erstellen einer einmaligen Kontrollgruppe

Erstellen einer einmaligen Kontrollgruppe

Ich möchte in der Lage sein, einmalig eine temporäre Gruppe in der Hierarchie zu erstellen. Beispiel:

#!/bin/sh
run_with_csubgroup /sys/fs/cgroup/group/subgroup/

Dadurch wird beispielsweise eine Gruppe erstellt /sys/fs/cgroup/group/subgroup/5G7ds/(5G7ds ist ein einmaliger Name – es könnte sich um eine ID oder etwas anderes handeln).

Ich möchte die Gruppe automatisch löschen, weiß aber nicht, wie das einfach geht, und neige dazu, das TERM-Signal (von actidental C-c) zu verwenden.

Gibt es eine Möglichkeit, dies zu tun? Ich verwende Gentoo+systemd.

Antwort1

Sie können Ihre Befehle über ausführen systemd-run --scope. Dadurch wird eine vorübergehende (d. h. temporäre) Kontrollgruppe für Ihren Befehl erstellt. Sie können die Kontrollgruppe dann nach Ihren Bedürfnissen ändern. Verwenden Sie , systemd-cglsum Ihren Prozess in der Kontrollgruppenhierarchie unter zu finden /sys/fs/cgroup.

Entsprechend dermanpage „systemd-run“

systemd-run kann verwendet werden, um einen vorübergehenden Service, einen vorübergehenden Timer oder eine Scope-Einheit zu erstellen und zu starten und den angegebenen BEFEHL darin auszuführen.

Sie können auch Einschränkungen für Ihre Einheit über den systemd-runBefehl festlegen, indem Sie das --propertyFlag verwenden (mehr als einmal ist zulässig). Die verfügbaren Eigenschaften finden Sie untersytemd.resource-control - Manpage.

Wenn Sie Eigenschaften später festlegen möchten, können Sie verwenden systemd set-property.

Denken Sie daran, dass es eine gute Idee ist, Ihrer Einheit mit der --unit=yournameFlagge einen Namen zu geben, damit Sie leicht darauf zugreifen können.

Es gibt einen sehr guten Text überdie neue Kontrollgruppen-Schnittstelle, was ich dringend empfehle. Außerdem ist dieRed Hat Enterprise Linux 7-Handbuch für Ressourcenverwaltung und Linux-Containerbietet eine sehr klare Beschreibung der Verwendung von cgroups mit systemd.

Antwort2

/etc/rcMöglicherweise müssen Sie für Ihre Gruppe eine bestimmte Lebensdauer festlegen. Sie möchten vielleicht, dass sie nach dem Hochfahren des Computers aktiviert und nach dem Herunterfahren gelöscht wird. Es ist also keine schlechte Idee, sie zu Ihren Skripten hinzuzufügen .

Antwort3

Ich bin nicht sicher, ob ich das richtig verstehe, aber können Sie nicht einfach:

~] umount /sys/fs/cgroup/group/subgroup/5G7ds/
~] rmdir /sys/fs/cgroup/group/subgroup/5G7ds/

Das Obige demontiert die Kontrollgruppe und entfernt sie.

verwandte Informationen