Vorige: , Nach oben: Zubehör   [Inhalt][Index]


9.15 guix processes aufrufen

Der Befehl guix processes kann sich für Entwickler und Systemadministratoren als nützlich erweisen, besonders auf Maschinen mit mehreren Nutzern und auf Erstellungsfarmen. Damit werden die aktuellen Sitzungen (also Verbindungen zum Daemon) sowie Informationen über die beteiligten Prozesse aufgelistet23. Hier ist ein Beispiel für die davon gelieferten Informationen:

$ sudo guix processes
SessionPID: 19002
ClientPID: 19090
ClientCommand: guix environment --ad-hoc python

SessionPID: 19402
ClientPID: 19367
ClientCommand: guix publish -u guix-publish -p 3000 -C 9 …

SessionPID: 19444
ClientPID: 19419
ClientCommand: cuirass --cache-directory /var/cache/cuirass …
LockHeld: /gnu/store/…-perl-ipc-cmd-0.96.lock
LockHeld: /gnu/store/…-python-six-bootstrap-1.11.0.lock
LockHeld: /gnu/store/…-libjpeg-turbo-2.0.0.lock
ChildProcess: 20495: guix offload x86_64-linux 7200 1 28800
ChildProcess: 27733: guix offload x86_64-linux 7200 1 28800
ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800

In diesem Beispiel sehen wir, dass guix-daemon drei Clients hat: guix environment, guix publish und das Werkzeug Cuirass zur Kontinuierlichen Integration. Deren Prozesskennung (PID) ist jeweils im ClientPID-Feld zu sehen. Das Feld SessionPID zeigt die PID des guix-daemon-Unterprozesses dieser bestimmten Sitzung.

Das Feld LockHeld zeigt an, welche Store-Objekte derzeit durch die Sitzung gesperrt sind, d.h. welche Store-Objekte zurzeit erstellt oder substituiert werden (das LockHeld-Feld wird nicht angezeigt, wenn guix processes nicht als Administratornutzer root ausgeführt wird). Letztlich sehen wir am ChildProcess-Feld oben, dass diese drei Erstellungen hier ausgelagert (englisch „offloaded“) werden (siehe Auslagern des Daemons einrichten).

Die Ausgabe ist im Recutils-Format, damit wir den praktischen recsel-Befehl benutzen können, um uns interessierende Sitzungen auszuwählen (siehe Selection Expressions in GNU recutils manual). Zum Beispiel zeigt dieser Befehl die Befehlszeile und PID des Clients an, der die Erstellung des Perl-Pakets ausgelöst hat:

$ sudo guix processes | \
    recsel -p ClientPID,ClientCommand -e 'LockHeld ~ "perl"'
ClientPID: 19419
ClientCommand: cuirass --cache-directory /var/cache/cuirass …

Fußnoten

(23)

Entfernte Sitzungen, wenn guix-daemon mit --listen unter Angabe eines TCP-Endpunkts gestartet wurde, werden nicht aufgelistet.


Vorige: , Nach oben: Zubehör   [Inhalt][Index]