Previous: Invocación de guix weather
, Up: Utilidades [Contents][Index]
guix processes
La orden guix processes
puede ser útil a desarrolladoras y
administradoras de sistemas, especialmente en máquinas multiusuaria y en
granjas de construcción: enumera las sesiones actuales (conexiones al
daemon), así como información sobre los procesos envueltos31. A continuación puede verse un ejemplo de la información que
devuelve:
$ sudo guix processes SessionPID: 19002 ClientPID: 19090 ClientCommand: guix shell 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 ChildPID: 20495 ChildCommand: guix offload x86_64-linux 7200 1 28800 ChildPID: 27733 ChildCommand: guix offload x86_64-linux 7200 1 28800 ChildPID: 27793 ChildCommand: guix offload x86_64-linux 7200 1 28800
En este ejemplo vemos que guix-daemon
tiene tres clientes:
guix shell
, guix publish
y la herramienta de integración
continua Cuirass; sus identificadores de proceso (PID) se muestran en el
campo ClientPID
. El campo SessionPID
proporciona el PID del
subproceso de guix-daemon
de cada sesión en particular.
The LockHeld
fields show which store items are currently locked by
this session, which corresponds to store items being built or substituted
(the LockHeld
field is not displayed when guix processes
is
not running as root). Last, by looking at the ChildPID
and
ChildCommand
fields, we understand that these three builds are being
offloaded (see Uso de la facilidad de delegación de trabajo).
La salida está en formato Recutils por lo que podemos usar la útil orden
recsel
para seleccionar sesiones de interés (see Selection
Expressions in GNU recutils manual). Como un ejemplo, la
siguiente orden muestra la línea de órdenes y el PID del cliente que inició
la construcción de un paquete Perl:
$ sudo guix processes | \ recsel -p ClientPID,ClientCommand -e 'LockHeld ~ "perl"' ClientPID: 19419 ClientCommand: cuirass --cache-directory /var/cache/cuirass …
Additional options are listed below.
--format=formato
-f formato
Produce salida en el formato especificado, uno de:
recutils
The default option. It outputs a set of Session recutils records that
include each ChildProcess
as a field.
normalized
Normalize the output records into record sets (see Record Sets in GNU recutils manual). Normalizing into record sets allows joins
across record types. The example below lists the PID of each
ChildProcess
and the associated PID for Session
that spawned
the ChildProcess
where the Session
was started using
guix build
.
$ guix processes --format=normalized | \ recsel \ -j Session \ -t ChildProcess \ -p Session.PID,PID \ -e 'Session.ClientCommand ~ "guix build"' PID: 4435 Session_PID: 4278 PID: 4554 Session_PID: 4278 PID: 4646 Session_PID: 4278
Las
sesiones remotas, cuando guix-daemon
se ha iniciado con
--listen especificando un punto de conexión TCP, no son
enumeradas.
Previous: Invocación de guix weather
, Up: Utilidades [Contents][Index]