Manuales para la línea de comandos

Man » Manual de systemctl en línea - documentación detallada en línea para la página man de systemctl

🌍
systemctl - Controla el sistema y el gestor de servicios systemd

SINOPSIS

systemctl [OPCIONES...] COMANDO [UNIDAD...]

DESCRIPCIÓN

systemctl puede utilizarse para inspeccionar y controlar el estado del sistema y el gestor de servicios "systemd". Consulte [systemd]({filename}../../systemd)(1) para obtener una introducción a los conceptos básicos y la funcionalidad que gestiona esta herramienta.

COMANDOS

Los siguientes comandos son reconocidos:

Comandos de Unidad (Inspección y Modificación)

list-units [PATRÓN...]

Lista las unidades que systemd tiene actualmente en memoria. Esto incluye las unidades que se referencian directamente o a través de una dependencia, las unidades que están ancladas por las aplicaciones de forma programática o las unidades que estuvieron activas en el pasado y han fallado. De forma predeterminada, solo se muestran las unidades que están activas, tienen trabajos pendientes o han fallado; esto se puede cambiar con la opción --all. Si se especifican uno o más PATRONES, solo se muestran las unidades que coinciden con uno de ellos. Las unidades que se muestran también se filtran por --type= y --state= si se especifican esas opciones.

Tenga en cuenta que este comando no muestra las plantillas de unidades, sino solo las instancias de las plantillas de unidades. Las plantillas de unidades que no están instanciadas no son ejecutables y, por lo tanto, nunca aparecerán en la salida de este comando. Específicamente, esto significa que [email protected] nunca se mostrará en esta lista, a menos que se instancie, por ejemplo, como _. Utilice list-unit-files (vea abajo) para listar los archivos de plantilla de unidad instalados.

Produce una salida similar a

UNIDAD                         LOAD   ACTIVE SUB     DESCRIPCIÓN
sys-module-fuse.device       loaded active plugged /sys/module/fuse
-.mount                      loaded active mounted Root Mount
boot-efi.mount               loaded active mounted /boot/efi
systemd-journald.service     loaded active running Journal Service
systemd-logind.service       loaded active running Login Service
● \_            loaded failed failed  User Manager for UID 1000
...
systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories

LOAD = Refleja si la definición de la unidad se cargó correctamente.
ACTIVE = El estado de activación de la unidad a alto nivel, es decir, una generalización de SUB.
SUB = El estado de activación de la unidad a bajo nivel; los valores dependen del tipo de unidad.

Se enumeran 123 unidades. Utilice --all para ver también las unidades cargadas pero inactivas.

Para mostrar todos los archivos de unidad instalados, utilice 'systemctl list-unit-files'.

El encabezado y la última unidad de un tipo determinado están subrayados si la terminal lo admite. Se muestra un punto de color junto a los servicios que se han enmascarado, no se han encontrado o han fallado de otra manera.


La columna LOAD muestra el estado de carga, que puede ser loaded, not-found, bad-setting, error o masked. La columna ACTIVE muestra el estado general de la unidad, que puede ser uno de los siguientes:

Tabla 1. Estados de la unidad ACTIVE

┌──────────────┬─────────────────────────────────────┐
│ Estado       │ Descripción                         │
├──────────────┼─────────────────────────────────────┤
│ active       │ Iniciada, enlazada, conectada, ...,   │
│              │ dependiendo del tipo de unidad.     │
├──────────────┼─────────────────────────────────────┤
│ inactive     │ Detenida, desenlazada, desconectada, │
│              │ dependiendo del tipo de unidad.     │
├──────────────┼─────────────────────────────────────┤
│ failed       │ Similar a inactive, pero la unidad   │
│              │ falló de alguna manera (el proceso   │
│              │ devolvió un código de error al salir, │
│              │ se bloqueó, una operación tardó demasiado o │
│              │ después de demasiados reinicios).    │
├──────────────┼─────────────────────────────────────┤
│ activating   │ Cambiando de inactivo a activo.     │
├──────────────┼─────────────────────────────────────┤
│ deactivating │ Cambiando de activo a inactivo.     │
├──────────────┼─────────────────────────────────────┤
│ maintenance  │ La unidad está inactiva y se está   │
│              │ realizando una operación de           │
│              │ mantenimiento.                       │
├──────────────┼─────────────────────────────────────┤
│ reloading    │ La unidad está activa y está         │
│              │ recargando su configuración.         │
├──────────────┼─────────────────────────────────────┤
│ refreshing   │ La unidad está activa y se está       │
│              │ activando un nuevo montaje en su     │
│              │ espacio de nombres.                  │
└──────────────┴─────────────────────────────────────┘

La columna SUB muestra el estado detallado de la unidad, específico para cada tipo de unidad; los valores posibles varían según el tipo de unidad. La lista de posibles estados LOAD, ACTIVE y SUB no es constante y las nuevas versiones de systemd pueden tanto añadir como eliminar valores.

systemctl --state=help

Este comando se puede utilizar para mostrar el conjunto actual de valores posibles.

Este es el comando predeterminado.

list-automounts [PATTERN...]

Lista las unidades de automontaje que se encuentran actualmente en la memoria, ordenadas por la ruta de montaje. Si se especifica uno o más PATRONES, solo se muestran las unidades de automontaje que coincidan con uno de ellos. Produce una salida similar a:

WHAT        WHERE                    MOUNTED IDLE TIMEOUT UNIT
/dev/sdb1   /mnt/test                no      120s         mnt-test.automount
binfmt_misc /proc/sys/fs/binfmt_misc yes     0            proc-sys-fs-binfmt_misc.automount

2 unidades de automontaje listadas.

También consulte --show-types, --all y --state=.

Añadido en la versión 252.

list-paths [PATTERN...]

Lista las unidades de ruta que se encuentran actualmente en la memoria, ordenadas por la ruta. Si se especifica uno o más PATRONES, solo se muestran las unidades que coincidan con uno de ellos. Produce una salida similar a:

PATH                           CONDITION         UNIT                               ACTIVATES
/run/systemd/ask-password      DirectoryNotEmpty systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service
/run/systemd/ask-password      DirectoryNotEmpty systemd-ask-password-wall.path     systemd-ask-password-wall.service
/var/cache/cups/org.cups.cupsd PathExists        cups.path                          cups.service

3 rutas listadas.

También consulte --show-types, --all y --state=.

Añadido en la versión 254.

list-sockets [PATTERN...]

Lista las unidades de socket que se encuentran actualmente en la memoria, ordenadas por la dirección de escucha. Si se especifica uno o más PATRONES, solo se muestran las unidades que coincidan con uno de ellos. Produce una salida similar a:

LISTEN           UNIT                        ACTIVATES
kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
/dev/rfkill      systemd-rfkill.socket       systemd-rfkill.service
...

5 sockets listados.

Nota: debido a que las direcciones pueden contener espacios, esta salida no es adecuada para el consumo programático.

También consulte --show-types, --all y --state=.

Añadido en la versión 202.

list-timers [PATTERN...]

Lista las unidades de temporizador que se encuentran actualmente en la memoria, ordenadas por el momento en que se ejecutarán a continuación. Si se especifica uno o más PATRONES, solo se muestran las unidades que coincidan con uno de ellos. Produce una salida similar a:

NEXT                         LEFT          LAST                         PASSED     UNIT                         ACTIVATES
-                            -             Thu 2017-02-23 13:40:29 EST  3 days ago ureadahead-stop.timer        ureadahead-stop.service

Sun 2017-02-26 18:55:42 EST 1min 14s left Thu 2017-02-23 13:54:44 EST 3 days ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service Sun 2017-02-26 20:37:16 EST 1h 42min left Sun 2017-02-26 11:56:36 EST 6h ago apt-daily.timer apt-daily.service Sun 2017-02-26 20:57:49 EST 2h 3min left Sun 2017-02-26 11:56:36 EST 6h ago snapd.refresh.timer snapd.refresh.service


NEXT muestra la próxima vez que se ejecutará el temporizador.

LEFT muestra cuánto tiempo falta para la próxima ejecución del temporizador.

LAST muestra la última vez que se ejecutó el temporizador.

PASSED muestra cuánto tiempo ha pasado desde la última ejecución del temporizador.

UNIT muestra el nombre del temporizador.

ACTIVATES muestra el nombre del servicio que se activa cuando se ejecuta el temporizador.

También consulte --all y --state=.

Agregado en la versión 209.

is-active PATTERN...

Verifica si alguna de las unidades especificadas está activa (es decir, en ejecución). Devuelve un código de salida 0 si al menos una está activa, o un valor distinto de cero en caso contrario. A menos que se especifique --quiet, esto también imprimirá el estado actual de la unidad en la salida estándar.

is-failed [PATTERN...]

Verifica si alguna de las unidades especificadas está en el estado "fallido". Si no se especifica ninguna unidad, verifica si hay alguna unidad fallida o ciclos de ordenamiento, lo que corresponde al estado "degradado" devuelto por is-system-running. Devuelve un código de salida 0 si al menos una ha fallado, distinto de cero en caso contrario. A menos que se especifique --quiet, esto también imprimirá el estado actual de la unidad o del sistema en la salida estándar.

Agregado en la versión 197.

status [PATTERN...|PID...]

Muestra información de estado en tiempo de ejecución sobre todo el sistema o sobre una o más unidades, seguida de los datos de registro más recientes del diario. Si no se especifican argumentos posicionales y no se proporciona ningún filtro de unidad con --type=, --state= o --failed, muestra el estado de todo el sistema. Si se combina con --all, muestra el estado de todas las unidades. Si se especifican argumentos posicionales, cada argumento posicional se trata como un nombre de unidad para mostrar, o un patrón glob para mostrar las unidades cuyos nombres coincidan con ese patrón, o un PID para mostrar la unidad que contiene ese PID. Cuando se utilizan --type=, --state= o --failed, las unidades se filtran además por el TIPO y el ESTADO.

Esta función está diseñada para generar una salida legible por humanos. Si está buscando una salida que se pueda analizar por computadora, utilice show en su lugar. De forma predeterminada, esta función solo muestra 10 líneas de salida y trunca las líneas para que quepan en la ventana de la terminal. Esto se puede cambiar con --lines y --full, consulte arriba. Además, journalctl --unit=NAME o journalctl --user-unit=NAME utilizan un filtro similar para los mensajes y pueden ser más convenientes.

Tenga en cuenta que esta operación solo muestra el estado en tiempo de ejecución, es decir, información sobre la invocación actual de la unidad (si está en ejecución) o la invocación más reciente (si ya no está en ejecución y ha sido liberada de la memoria). La información sobre invocaciones anteriores, invocaciones de arranques de sistema anteriores o invocaciones anteriores que ya han sido liberadas de la memoria se puede obtener a través de journalctl --unit=.

systemd carga implícitamente las unidades según sea necesario, por lo que simplemente ejecutar el comando status intentará cargar un archivo. Por lo tanto, el comando no es útil para determinar si algo ya se había cargado o no. Es posible que las unidades también se descarguen rápidamente después de que se complete la operación si no hay razón para mantenerlas en la memoria.

Ejemplo 1. Ejemplo de salida de systemctl status

$ systemctl status bluetooth
● bluetooth.service - Servicio Bluetooth
Cargado: cargado (/usr/lib/systemd/system/bluetooth.service; habilitado; predefinido: habilitado)
Activo: activo (en ejecución) desde Mié 2017-01-04 13:54:04 EST; 1 semana y 0 días
Documentación: man:bluetoothd(8)
PID principal: 930 (bluetoothd)
Estado: "En ejecución"
Tareas: 1
Memoria: 648.0K
CPU: 435ms
CGroup: /system.slice/bluetooth.service
└─930 /usr/lib/bluetooth/bluetoothd

Ene 12 10:46:45 example.com bluetoothd[8900]: No hay suficientes controladores libres para registrar el servicio Ene 12 10:46:45 example.com bluetoothd[8900]: No se pudo registrar el Servicio de Hora Actual Ene 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Error de entrada/salida (5)

El punto ("●") utiliza colores en terminales compatibles para resumir el estado de la unidad de un vistazo. Junto con su color, su forma varía según su estado: "inactivo" o "en mantenimiento" es un círculo blanco ("○"), "activo" es un punto verde ("●"), "desactivando" es un punto blanco, "fallido" o "error" es una cruz roja ("×") y "recargando" o "actualizando" es una flecha de círculo en sentido horario verde ("↻").

La línea "Cargado:" en la salida mostrará "cargado" si la unidad se ha cargado en la memoria. Otros valores posibles para "Cargado:" incluyen: "error" si hubo un problema al cargarlo, "no encontrado" si no se encontró ningún archivo de unidad para esta unidad, "configuración incorrecta" si una configuración esencial del archivo de unidad no se pudo analizar y "enmascarado" si el archivo de unidad se ha enmascarado. Además de mostrar la ruta al archivo de unidad, esta línea también mostrará el estado de habilitación. Las unidades habilitadas se incluyen en la red de dependencias entre las unidades y, por lo tanto, se inician al arrancar o mediante alguna otra forma de activación. Consulte la tabla completa de los posibles estados de habilitación, incluida la definición de "enmascarado", en la documentación del comando is-enabled.

La línea "Activo:" muestra el estado activo. El valor suele ser "activo" o "inactivo". Activo puede significar iniciado, enlazado, conectado, etc., según el tipo de unidad. La unidad también puede estar en proceso de cambio de estado, informando de un estado de "activando" o "desactivando". Se entra en un estado "fallido" especial cuando el servicio falla de alguna manera, como un bloqueo, una salida con un código de error o un tiempo de espera. Si se entra en el estado fallido, la causa se registrará para futura referencia.

show [PATTERN...|JOB...]

Mostrar las propiedades de una o más unidades, trabajos o el propio administrador. Si no se especifica ningún argumento, se mostrarán las propiedades del administrador. Si se especifica un nombre de unidad, se mostrarán las propiedades de la unidad y, si se especifica un ID de trabajo, se mostrarán las propiedades del trabajo. De forma predeterminada, las propiedades vacías se suprimen. Utilice --all para mostrarlas también. Para seleccionar propiedades específicas que se van a mostrar, utilice --property=. Este comando está diseñado para utilizarse siempre que se requiera una salida legible por máquina. Utilice status si busca una salida formateada y legible por humanos.

Muchas de las propiedades mostradas por systemctl se corresponden directamente con la configuración de los archivos de unidad del sistema y del gestor de servicios. Tenga en cuenta que las propiedades mostradas por el comando son, en general, versiones normalizadas de la configuración original y exponen el estado de ejecución además de la configuración. Por ejemplo, las propiedades mostradas para las unidades de servicio incluyen el identificador del proceso principal actual del servicio como "MainPID" (que es el estado de ejecución), y la configuración de tiempo siempre se expone como propiedades que terminan con el sufijo "...USec", incluso si las opciones de configuración correspondientes terminan en "...Sec", porque el microsegundo es la unidad de tiempo normalizada utilizada internamente por el sistema y el gestor de servicios.

Para obtener más detalles sobre muchas de estas propiedades, consulte la documentación de la interfaz D-Bus que respalda estas propiedades, consulte org.freedesktop.systemd1(5).

^ at PATTERN... Muestra los archivos de respaldo de una o más unidades. Imprime los archivos "fragment" y "drop-ins" (archivos de origen) de las unidades. Cada archivo va precedido de un comentario que incluye el nombre del archivo. Tenga en cuenta que esto muestra el contenido de los archivos de respaldo en el disco, que puede no coincidir con la comprensión que tiene el gestor de servicios de estas unidades si alguno de los archivos de unidad se actualizó en el disco y no se ejecutó el comando daemon-reload desde entonces.

Agregado en la versión 209.

^ elp PATTERN...|PID... Muestra las páginas de manual de una o más unidades, si están disponibles. Si se proporciona un PID, se muestran las páginas de manual de la unidad a la que pertenece el proceso.

Agregado en la versión 185.

^ ist-dependencies [UNIT...] Muestra las unidades requeridas y deseadas por las unidades especificadas. Esto enumera recursivamente las unidades que siguen las dependencias Requires=, Requisite=, Wants=, ConsistsOf=, BindsTo= y Upholds=. Si no se especifican unidades, se asume default.target.

Las unidades que se muestran también se filtran mediante las opciones --type= y --state= si se especifican. Tenga en cuenta que en este caso no podremos utilizar una estructura de árbol, por lo que --plain se aplicará implícitamente.

De forma predeterminada, solo se expanden recursivamente las unidades de destino. Cuando se pasa --all, todas las demás unidades también se expanden recursivamente.

Las opciones --reverse, --after y --before se pueden utilizar para cambiar los tipos de dependencias que se muestran.

Tenga en cuenta que este comando solo enumera las unidades que se cargan actualmente en la memoria del gestor de servicios. En particular, este comando no es adecuado para obtener una lista completa de todas las dependencias inversas de una unidad específica, ya que no enumerará las dependencias declaradas por las unidades que no se cargan actualmente.

Agregado en la versión 198.

^ tart PATTERN... Inicia (activa) una o más unidades especificadas en la línea de comandos.

Tenga en cuenta que los patrones de unidad glob se expanden a los nombres de las unidades que se encuentran actualmente en la memoria. Las unidades que no están activas y no están en un estado fallido generalmente no están en la memoria y no se encontrarán con ningún patrón. Además, en el caso de las unidades instanciadas, systemd a menudo desconoce el nombre de la instancia hasta que se ha iniciado la instancia. Por lo tanto, el uso de patrones glob con start tiene una utilidad limitada. Además, no se consideran los nombres de alias secundarios de las unidades.


La opción --all se puede utilizar para operar también en unidades inactivas que están referenciadas por otras unidades cargadas. Tenga en cuenta que esto no es lo mismo que operar en "todas" las unidades posibles, ya que, como se describe en el párrafo anterior, dicha lista no está bien definida. Sin embargo, systemctl start --all GLOB puede ser útil si todas las unidades que deben coincidir con el patrón se incluyen en algún destino que se sabe que está cargado.

stop PATTERN...

Detiene (desactiva) una o más unidades especificadas en la línea de comandos.

Este comando fallará si la unidad no existe o si detener la unidad está prohibido (vea RefuseManualStop= en systemd.unit(5)). No fallará si alguno de los comandos configurados para detener la unidad ( ExecStop=, etc.) fallan, porque el administrador aún finalizará la unidad por la fuerza.

Si una unidad que se detiene aún puede ser activada por otras unidades, se muestra una advertencia que contiene los nombres de las unidades que la activan. Se puede usar --no-warn para suprimir la advertencia.

reload PATTERN...

Solicita a todas las unidades enumeradas en la línea de comandos que vuelvan a cargar su configuración. Tenga en cuenta que esto volverá a cargar la configuración específica del servicio, no el archivo de configuración de la unidad de systemd. Si desea que systemd vuelva a cargar el archivo de configuración de una unidad, use el comando daemon-reload. En otras palabras: para el caso de ejemplo de Apache, esto volverá a cargar httpd.conf de Apache en el servidor web, no el archivo de unidad apache.service de systemd.

Este comando no debe confundirse con el comando daemon-reload.

restart PATTERN...

Detiene y luego inicia una o más unidades especificadas en la línea de comandos. Si las unidades aún no se están ejecutando, se iniciarán.

Tenga en cuenta que reiniciar una unidad con este comando no necesariamente elimina todos los recursos de la unidad antes de que se vuelva a iniciar. Por ejemplo, la instalación de almacenamiento de descriptores de archivo específica del servicio (vea FileDescriptorStoreMax= en systemd.service(5)) permanecerá intacta siempre que la unidad tenga un trabajo pendiente, y solo se borrará cuando la unidad se detenga por completo y no haya trabajos pendientes. Si se pretende que la instalación de descriptores de archivo también se borre durante una operación de reinicio, se debe emitir un comando systemctl stop explícito seguido de systemctl start.

try-restart PATTERN...

Detiene y luego inicia una o más unidades especificadas en la línea de comandos si las unidades se están ejecutando. No hace nada si las unidades no se están ejecutando.

reload-or-restart PATTERN...

Vuelve a cargar una o más unidades si lo admiten. Si no, deténgalas y luego inícielas. Si las unidades aún no se están ejecutando, se iniciarán.

Esto tiene una funcionalidad ligeramente diferente cuando se utiliza en combinación con --marked, consulte a continuación.

try-reload-or-restart PATTERN...

Vuelve a cargar una o más unidades si lo admiten. Si no, deténgalas y luego inícielas. No hace nada si las unidades no se están ejecutando.


Añadido en la versión 229.

isolate UNIT

Inicia la unidad especificada en la línea de comandos y sus dependencias, y detiene todas las demás, a menos que tengan IgnoreOnIsolate=yes (ver [systemd.unit(5)]. Si se proporciona el nombre de una unidad sin extensión, se asumirá una extensión de ".target".

Este comando es peligroso, ya que detendrá inmediatamente los procesos que no estén habilitados en el nuevo destino, posiblemente incluyendo el entorno gráfico o la terminal que está utilizando actualmente.

Tenga en cuenta que esta operación solo está permitida en las unidades donde AllowIsolate= está habilitado. Consulte [systemd.unit(5)] para obtener más detalles.

kill PATTERN...

Envía una señal de proceso UNIX a uno o más procesos de la unidad. Utilice --kill-whom= para seleccionar qué proceso se le enviará la señal. Utilice --signal= para seleccionar la señal que se enviará. Combine con --kill-value= para poner en cola una señal POSIX de tiempo real con un valor asociado.

clean PATTERN...

Elimina la configuración, el estado, la caché, los registros, los datos de tiempo de ejecución o los datos del almacén de descriptores de archivo de las unidades especificadas. Utilice --what= para seleccionar qué tipo de recurso se eliminará. Para las unidades de servicio, esto se puede utilizar para eliminar los directorios configurados con ConfigurationDirectory=, StateDirectory=, CacheDirectory=, LogsDirectory= y RuntimeDirectory=, consulte [systemd.exec(5)] para obtener más detalles. También se puede utilizar para borrar el almacén de descriptores de archivo como se habilita a través de FileDescriptorStoreMax=, consulte [systemd.service(5)] para obtener más detalles. Para las unidades de temporizador, esto se puede utilizar para borrar los datos de marca de tiempo persistentes si se utiliza Persistent= y se selecciona --what=state, consulte [systemd.timer(5)] para obtener más detalles. Este comando solo se aplica a las unidades que utilizan cualquiera de estas configuraciones. Si no se especifica --what=, se eliminarán los datos de caché y tiempo de ejecución, así como el almacén de descriptores de archivo (ya que estos tres tipos de recursos son generalmente redundantes y reproducibles en la próxima invocación de la unidad). Se pueden separar varios valores por comas.

Tenga en cuenta que las unidades especificadas deben estar detenidas para invocar esta operación.

Tabla 2. Posibles valores para --what=

┌─────────────────┬────────────────────────────────────┐
│ Valor           │ Configuración de la unidad          │
├─────────────────┼────────────────────────────────────┤
│ "runtime"       │ RuntimeDirectory=                  │
├─────────────────┼────────────────────────────────────┤
│ "state"         │ StateDirectory=                    │
├─────────────────┼────────────────────────────────────┤
│ "cache"         │ CacheDirectory=                    │
├─────────────────┼────────────────────────────────────┤
│ "logs"          │ LogsDirectory=                     │
├─────────────────┼────────────────────────────────────┤
│ "configuration" │ ConfigurationDirectory=            │
├─────────────────┼────────────────────────────────────┤
│ "fdstore"       │ FileDescriptorStorePreserve=       │
├─────────────────┼────────────────────────────────────┤
│ "all"           │ Todos los anteriores               │
├─────────────────┼────────────────────────────────────┤
│ "help"          │ Muestra los valores admitidos y sale │
└─────────────────┴────────────────────────────────────┘

Agregado en la versión 243.

congelar PATRÓN...
Congela una o más unidades especificadas en la línea de comandos utilizando el congelador de cgroup.

Congelar una unidad provocará que todos los procesos contenidos dentro del cgroup correspondiente a la unidad se suspendan. Estar suspendido significa que los procesos de la unidad no se programarán para ejecutarse en la CPU hasta que se descongelen. Tenga en cuenta que este comando solo es compatible con los sistemas que utilizan una jerarquía de cgroup unificada. La unidad se descongela automáticamente justo antes de ejecutar un trabajo en la unidad, por ejemplo, antes de que se detenga la unidad.

Agregado en la versión 246.

descongelar PATRÓN...
Descongela (descongela) una o más unidades especificadas en la línea de comandos.

Esta es la operación inversa del comando congelar y reanuda la ejecución de los procesos en el cgroup de la unidad.

Agregado en la versión 246.

establecer-propiedad UNIDAD PROPIEDAD=VALOR...
Establece las propiedades de la unidad especificada en tiempo de ejecución cuando esto sea compatible. Esto permite cambiar
los parámetros de configuración, como la configuración de control de recursos, en tiempo de ejecución. No todas
las propiedades se pueden cambiar en tiempo de ejecución, pero muchos de los ajustes de control de recursos (principalmente los de
systemd.resource-control(5)) sí se pueden. Los cambios se aplican inmediatamente y se guardan en el disco para
futuras actualizaciones, a menos que se pase la opción --runtime, en cuyo caso la configuración solo se aplicará hasta el
próximo reinicio. La sintaxis de la asignación de propiedades se asemeja estrechamente a la sintaxis de las asignaciones
en los archivos de unidad.

Ejemplo: systemctl establecer-propiedad foobar.service CPUWeight=200

Si la unidad especificada parece estar inactiva, los cambios solo se guardarán en el disco como se describe anteriormente, por lo que serán efectivos cuando se inicie la unidad.

Tenga en cuenta que este comando permite cambiar varias propiedades al mismo tiempo, lo cual es preferible a configurarlas individualmente.


Ejemplo: systemctl set-property foobar.service CPUWeight=200 MemoryMax=2G IPAccounting=yes

Al igual que con la configuración de las opciones del archivo de unidad, asignar una opción vacía normalmente restablece una propiedad a sus valores predeterminados.

Ejemplo: systemctl set-property avahi-daemon.service IPAddressDeny=

Agregado en la versión 206.

bind UNIT PATH [PATH]

Monta un archivo o directorio desde el host en el espacio de nombres de montaje especificado de la unidad. El primer argumento de ruta es el archivo o directorio de origen en el host, y el segundo argumento de ruta es el archivo o directorio de destino en el espacio de nombres de montaje de la unidad. Cuando este último se omite, la ruta de destino en el espacio de nombres de montaje de la unidad es la misma que la ruta de origen en el host. Cuando se combina con la opción --read-only, se crea un montaje enlazado de solo lectura. Cuando se combina con la opción --mkdir, la ruta de destino se crea primero antes de aplicar el montaje.

Tenga en cuenta que esta opción solo es compatible actualmente con las unidades que se ejecutan dentro de un espacio de nombres de montaje (por ejemplo, con RootImage=, PrivateMounts=, etc.). Este comando admite el montaje enlazado de directorios, archivos regulares, nodos de dispositivos, nodos de socket AF_UNIX y FIFOs. El montaje enlazado es efímero y se deshace tan pronto como el proceso de la unidad actual finaliza. Tenga en cuenta que el espacio de nombres mencionado aquí, donde se agregará el montaje enlazado, es el espacio de nombres donde se ejecuta el proceso de servicio principal. Otros procesos (aquellos ejecutados por ExecReload=, ExecStartPre=, etc.) se ejecutan en espacios de nombres distintos.

Si lo admite el kernel, cualquier montaje anterior en el destino seleccionado se reemplazará por el nuevo montaje. Si no se admite, cualquier montaje anterior se superpondrá, pero permanecerá anclado e inaccesible.

Agregado en la versión 248.

mount-image UNIT IMAGE [PATH [PARTITION_NAME:MOUNT_OPTIONS]]

Monta una imagen desde el host en el espacio de nombres de montaje especificado de la unidad. El primer argumento de ruta es la imagen de origen en el host, y el segundo argumento de ruta es el directorio de destino en el espacio de nombres de montaje de la unidad (es decir, dentro de RootImage=/RootDirectory=). El argumento siguiente, si lo hay, se interpreta como una tupla separada por dos puntos de nombre de partición y una lista separada por comas de opciones de montaje para esa partición. El formato es el mismo que la opción MountImages= del servicio. Cuando se combina con la opción --read-only, se crea un montaje de solo lectura. Cuando se combina con la opción --mkdir, la ruta de destino se crea primero antes de aplicar el montaje.

Tenga en cuenta que esta opción solo es compatible actualmente con las unidades que se ejecutan dentro de un espacio de nombres de montaje (es decir, con RootImage=, PrivateMounts=, etc.). Tenga en cuenta que el espacio de nombres mencionado aquí, donde se agregará el montaje de la imagen, es el espacio de nombres donde se ejecuta el proceso de servicio principal. Tenga en cuenta que el espacio de nombres mencionado aquí, donde se agregará el montaje enlazado, es el espacio de nombres donde se ejecuta el proceso de servicio principal. Otros procesos (aquellos ejecutados por ExecReload=, ExecStartPre=, etc.) se ejecutan en espacios de nombres distintos.


Si el kernel lo admite, cualquier montaje anterior en el destino seleccionado será reemplazado por el nuevo montaje. Si no se admite, cualquier montaje anterior se superpondrá, pero permanecerá anclado e inaccesible.

Ejemplo:

systemctl mount-image foo.service /tmp/img.raw /var/lib/image root:ro,nosuid
systemctl mount-image --mkdir bar.service /tmp/img.raw /var/lib/baz/img

Añadido en la versión 248.

service-log-level SERVICE [LEVEL]

Si no se proporciona el argumento LEVEL, imprime el nivel de registro actual tal como lo informa el servicio SERVICE.

Si se proporciona el argumento opcional LEVEL, entonces cambia el nivel de registro actual del servicio a LEVEL. El nivel de registro debe ser un nivel de registro syslog típico, es decir, un valor en el rango 0...7 o una de las cadenas emerg, alert, crit, err, warning, notice, info, debug; consulte syslog(3) para obtener más detalles.

El servicio debe tener la propiedad BusName=destination apropiada e implementar la interfaz genérica org.freedesktop.LogControl1(5). (systemctl utilizará el protocolo D-Bus genérico para acceder a la interfaz org.freedesktop.LogControl1.LogLevel para el nombre D-Bus de destino).

Añadido en la versión 247.

service-log-target SERVICE [TARGET]

Si no se proporciona el argumento TARGET, imprime el destino de registro actual tal como lo informa el servicio SERVICE.

Si se proporciona el argumento opcional TARGET, entonces cambia el destino de registro actual del servicio a TARGET. El destino de registro debe ser una de las cadenas console (para la salida de registro al flujo de error estándar del servicio), kmsg (para la salida de registro al búfer de registro del kernel), journal (para la salida de registro a systemd-journald.service(8) utilizando el protocolo de registro nativo), syslog (para la salida de registro al socket syslog clásico /dev/log), null (para ninguna salida de registro) o auto (para una elección determinada automáticamente, normalmente equivalente a console si el servicio se invoca de forma interactiva, y journal o syslog en caso contrario).

Para la mayoría de los servicios, solo un pequeño subconjunto de destinos de registro tiene sentido. En particular, la mayoría de los servicios "normales" solo deben implementar console, journal y null. Cualquier otra cosa solo es apropiada para servicios de bajo nivel que están activos en las primeras etapas del inicio, antes de que se establezca un registro adecuado.

El servicio debe tener la propiedad BusName=destination apropiada e implementar la interfaz genérica org.freedesktop.LogControl1(5). (systemctl utilizará el protocolo D-Bus genérico para acceder a la interfaz org.freedesktop.LogControl1.LogLevel para el nombre D-Bus de destino).

Añadido en la versión 247.

reset-failed [PATTERN...]

Restablece el estado "fallido" de las unidades especificadas, o si no se pasa ningún nombre de unidad, restablece el estado de todas las unidades. Cuando una unidad falla de alguna manera (es decir, el proceso sale con un código de error distinto de cero, termina de forma anormal o se agota el tiempo), automáticamente entrará en el estado "fallido" y su código de salida y estado se registrarán para la inspección del administrador hasta que el servicio se detenga/reinicie o se restablezca con este comando.

Además de restablecer el estado "fallido" de una unidad, también restablece varias otras propiedades por unidad: el contador de límite de frecuencia de inicio de todos los tipos de unidad se restablece a cero, así como el contador de reinicio de las unidades de servicio. Por lo tanto, si se alcanza el límite de inicio de una unidad (según lo configurado con StartLimitIntervalSec=/StartLimitBurst=) y la unidad se niega a iniciarse de nuevo, utilice este comando para que vuelva a ser iniciable.


whoami [PID...]

Devuelve las unidades a las que pertenecen los procesos referenciados por los PID dados (una por línea). Si no se especifica ningún PID, devuelve la unidad en la que se invoca el comando systemctl.

Añadido en la versión 254.

Comandos de archivo de unidad

list-unit-files [PATTERN...]

Lista los archivos de unidad instalados en el sistema, junto con su estado de habilitación (según lo informado por is-enabled). Si se especifican uno o más PATTERNs, solo se muestran los archivos de unidad cuyo nombre coincida con uno de ellos (no se admiten patrones que coincidan con las rutas del sistema de archivos de los archivos de unidad).

A diferencia de list-units, este comando también mostrará las unidades de plantilla, además de las unidades instanciadas explícitamente.

Añadido en la versión 233.

enable UNIT..., enable PATH...

Habilita una o más unidades o instancias de unidad. Esto creará un conjunto de enlaces simbólicos, según lo codificado en las secciones [Install] de los archivos de unidad indicados. Después de que se hayan creado los enlaces simbólicos, la configuración del administrador del sistema se vuelve a cargar (de una manera equivalente a daemon-reload), para garantizar que los cambios se tengan en cuenta inmediatamente. Tenga en cuenta que esto no tiene el efecto de iniciar también cualquiera de las unidades que se están habilitando. Si esto es lo que se desea, combine este comando con la opción --now o invoque start con los argumentos apropiados más adelante. Tenga en cuenta que, en caso de habilitación de instancias de unidad (es decir, habilitación de unidades de la forma _), se crean enlaces simbólicos con el mismo nombre que las instancias en el directorio de configuración de la unidad; sin embargo, apuntan al único archivo de unidad de plantilla del que se instancian.

Este comando espera nombres de unidad válidos (en cuyo caso se buscan automáticamente los archivos de unidad con los nombres apropiados en varios directorios de archivos de unidad) o rutas absolutas a los archivos de unidad (en cuyo caso estos archivos se leen directamente). Si se encuentra un archivo de unidad especificado fuera de los directorios de archivos de unidad habituales, se crea un enlace simbólico adicional que lo vincula al directorio de configuración de la unidad, lo que garantiza que se encuentre cuando se solicite mediante comandos como start. El sistema de archivos donde se encuentran los archivos de unidad enlazados debe ser accesible cuando se inicie systemd (por ejemplo, cualquier cosa debajo de /home/ o /var/ no está permitida, a menos que esos directorios estén ubicados en el sistema de archivos raíz).

Este comando imprimirá las operaciones del sistema de archivos que se ejecutan. Esta salida se puede suprimir pasando --quiet.

Tenga en cuenta que esta operación crea solo los enlaces simbólicos sugeridos en la sección [Install] de los archivos de unidad. Si bien este comando es la forma recomendada de manipular el directorio de configuración de la unidad, el administrador es libre de realizar cambios adicionales manualmente colocando o eliminando enlaces simbólicos debajo de este directorio. Esto es particularmente útil para crear configuraciones que se desvíen de la configuración de instalación predeterminada sugerida. En este caso, el administrador debe asegurarse de invocar daemon-reload manualmente según sea necesario, para garantizar que los cambios se tengan en cuenta.


Cuando se utiliza esta operación en unidades sin información de instalación, se muestra una advertencia al respecto. Se puede utilizar --no-warn para suprimir la advertencia.

Habilitar unidades no debe confundirse con iniciar (activar) unidades, como se hace con el comando start. Habilitar y iniciar unidades son operaciones independientes: las unidades pueden estar habilitadas sin estar iniciadas e iniciadas sin estar habilitadas. Habilitar simplemente vincula la unidad a varios lugares sugeridos (por ejemplo, para que la unidad se inicie automáticamente al arrancar o cuando se conecta un determinado tipo de hardware). Iniciar realmente crea el proceso de daemon (en el caso de las unidades de servicio) o enlaza el socket (en el caso de las unidades de socket), etc.

Dependiendo de si se especifica --system, --user, --runtime o --global, esto habilita la unidad para el sistema, solo para el usuario que realiza la llamada, solo para este arranque del sistema o para todos los inicios de sesión futuros de todos los usuarios. Tenga en cuenta que en el último caso, no se vuelve a cargar la configuración del daemon systemd.

No se admite el uso de enable en unidades enmascaradas y da como resultado un error.

disable UNIT...

Deshabilita una o más unidades. Esto elimina todos los enlaces simbólicos a los archivos de unidad que respaldan las unidades especificadas del directorio de configuración de unidades y, por lo tanto, deshace cualquier cambio realizado por enable o link. Tenga en cuenta que esto elimina todos los enlaces simbólicos a los archivos de unidad coincidentes, incluidos los enlaces simbólicos creados manualmente, y no solo los creados por enable o link. Tenga en cuenta que, si bien disable deshace el efecto de enable, los dos comandos no son simétricos en otros aspectos, ya que disable puede eliminar más enlaces simbólicos de los que una invocación previa de enable de la misma unidad creó.

Este comando espera solo nombres de unidad válidos, no acepta rutas a archivos de unidad.

Además de las unidades especificadas como argumentos, se deshabilitan todas las unidades que se enumeran en la configuración Also= que contiene la sección [Install] de cualquiera de los archivos de unidad que se están operando.

Este comando vuelve a cargar implícitamente la configuración del administrador del sistema después de completar la operación. Tenga en cuenta que este comando no detiene implícitamente las unidades que se están deshabilitando. Si esto es lo que se desea, combine este comando con el modificador --now o invoque el comando stop con los argumentos apropiados más adelante.

Este comando imprimirá información sobre las operaciones del sistema de archivos (eliminaciones de enlaces simbólicos) que se ejecutan. Esta salida se puede suprimir pasando --quiet.

Si una unidad se deshabilita, pero sus unidades de activación siguen activas, se muestra una advertencia que contiene los nombres de las unidades de activación. Se puede utilizar --no-warn para suprimir la advertencia.

Cuando este comando se utiliza con --user, las unidades sobre las que se está operando aún pueden estar habilitadas en el ámbito global y, por lo tanto, iniciarse automáticamente incluso después de una deshabilitación correcta en el ámbito de usuario. En este caso, se muestra una advertencia al respecto, que se puede suprimir utilizando --no-warn.


Este comando honra las opciones --system, --user, --runtime, --global y --no-warn de manera similar a enable.

Añadido en la versión 238.

reenable UNIT...

Vuelve a habilitar una o más unidades, según se especifique en la línea de comandos. Esta es una combinación de disable y enable, y es útil para restablecer los enlaces simbólicos con los que se habilita un archivo de unidad a los valores predeterminados configurados en su sección [Install]. Este comando espera solo el nombre de una unidad, no acepta rutas a archivos de unidad.

Este comando recarga implícitamente la configuración del administrador del sistema después de completar la operación. Tenga en cuenta que este comando no reinicia implícitamente las unidades que se están deshabilitando. Si esto es lo que se desea, combine este comando con la opción --now o invoque el comando try-restart con los argumentos apropiados más tarde.

Añadido en la versión 238.

preset UNIT...

Restablece el estado de habilitación/deshabilitación de uno o más archivos de unidad, según se especifique en la línea de comandos, a los valores predeterminados configurados en los archivos de política preestablecida. Esto tiene el mismo efecto que disable o enable, según cómo se enumere la unidad en los archivos preestablecidos.

Utilice --preset-mode= para controlar si las unidades deben habilitarse y deshabilitarse, o solo habilitarse, o solo deshabilitarse.

Si la unidad no tiene información de instalación, se ignorará silenciosamente por este comando. UNIT debe ser el nombre real de la unidad; cualquier nombre de alias se ignora silenciosamente.

Para obtener más información sobre el formato de la política preestablecida, consulte systemd.preset(5).

Añadido en la versión 238.

preset-all

Restablece todos los archivos de unidad instalados a los valores predeterminados configurados en el archivo de política preestablecida (consulte arriba).

Utilice --preset-mode= para controlar si las unidades deben habilitarse y deshabilitarse, o solo habilitarse, o solo deshabilitarse.

Añadido en la versión 215.

is-enabled UNIT...

Comprueba si alguno de los archivos de unidad especificados están habilitados (como con enable). Devuelve un código de salida de 0 si al menos uno está habilitado, y un valor distinto de cero en caso contrario. Imprime el estado de habilitación actual (consulte la tabla). Para suprimir esta salida, utilice --quiet. Para mostrar los destinos de instalación, utilice --full.

Tabla 3. Salida de is-enabled

┌───────────────────┬────────────────────────────┬───────────┐
│ Name              │ Description                │ Exit Code │
├───────────────────┼────────────────────────────┼───────────┤
│ "enabled"         │ Habilitado a través de      │           │
├───────────────────┤ .wants/, .requires/ o       │           │
│ "enabled-runtime" │ Alias= enlaces simbólicos   │ 0         │
│                   │ (permanentemente en         │           │
│                   │ /etc/systemd/system/, o     │           │
│                   │ transitoriamente en         │           │
│                   │ /run/systemd/system/).     │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "linked"          │ Se ha puesto a disposición  │           │
├───────────────────┤ a través de uno o más       │           │
│ "linked-runtime"  │ enlaces simbólicos al        │           │
│                   │ archivo de unidad           │ \> 0       │
│                   │ (permanentemente en         │           │
│                   │ /etc/systemd/system/ o       │           │
│                   │ transitoriamente en         │           │
│                   │ /run/systemd/system/),       │           │
│                   │ incluso si el archivo de     │           │
│                   │ unidad reside fuera del      │           │
│                   │ camino de búsqueda de        │           │
│                   │ archivos de unidad.         │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "alias"           │ El nombre es un alias       │ 0         │
│                   │ (enlace simbólico a otro     │           │
│                   │ archivo de unidad).         │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "masked"          │ Completamente deshabilitado, │           │
├───────────────────┤ de modo que cualquier        │           │
│ "masked-runtime"  │ operación de inicio en él   │ \> 0       │
│                   │ falle (permanentemente en    │           │
│                   │ /etc/systemd/system/ o       │           │
│                   │ transitoriamente en         │           │
│                   │ /run/systemd/systemd/).    │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "static"          │ El archivo de unidad no      │ 0         │
│                   │ está habilitado y no tiene  │           │
│                   │ disposiciones para          │           │
│                   │ habilitarlo en la sección    │           │
│                   │ [Install] del archivo de     │           │
│                   │ unidad.                     │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "indirect"        │ El archivo de unidad en sí    │ 0         │
│                   │ no está habilitado, pero     │           │
│                   │ tiene una configuración      │           │
│                   │ Also= no vacía en la         │           │
│                   │ sección [Install] del        │           │
│                   │ archivo de unidad, que       │           │
│                   │ enumera otros archivos de    │           │
│                   │ unidad que podrían estar     │           │
│                   │ habilitados, o tiene un      │           │
│                   │ alias con un nombre          │           │
│                   │ diferente a través de un     │           │
│                   │ enlace simbólico que no      │           │
│                   │ está especificado en         │           │
│                   │ Also=. Para los archivos de  │           │
│                   │ plantilla de unidad, una      │           │
│                   │ instancia diferente a la     │           │
│                   │ especificada en             │           │
│                   │ DefaultInstance= está        │           │
│                   │ habilitada.                 │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "disabled"        │ El archivo de unidad no      │ \> 0       │
│                   │ está habilitado, pero        │           │
│                   │ contiene una sección         │           │
│                   │ [Install] con instrucciones  │           │
│                   │ de instalación.             │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "generated"       │ El archivo de unidad fue     │ 0         │
│                   │ generado dinámicamente       │           │
│                   │ mediante una herramienta      │           │
│                   │ de generación. Consulte      │           │
│                   │ systemd.generator(7).        │           │
│                   │ Los archivos de unidad        │           │
│                   │ generados pueden no estar    │           │
│                   │ habilitados, están           │           │
│                   │ habilitados implícitamente   │           │
│                   │ por su generador.            │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "transient"       │ El archivo de unidad ha sido │ 0         │
│                   │ creado dinámicamente con     │           │
│                   │ la API en tiempo de          │           │
│                   │ ejecución. Los archivos de   │           │
│                   │ unidad transitorios pueden   │           │
│                   │ no estar habilitados.        │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "bad"             │ El archivo de unidad es      │ \> 0       │
│                   │ inválido o se produjo otro   │           │
│                   │ error. Tenga en cuenta que   │           │
│                   │ is-enabled no devolverá      │           │
│                   │ realmente este estado, sino  │           │
│                   │ que imprimirá un mensaje de  │           │
│                   │ error. Sin embargo, el       │           │
│                   │ listado de archivos de        │           │
│                   │ unidad impreso por           │           │
│                   │ list-unit-files podría       │           │
│                   │ mostrarlo.                   │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "not-found"       │ El archivo de unidad no      │ 4         │
│                   │ existe.                     │           │
└───────────────────┴────────────────────────────┴───────────┘

Añadido en la versión 238.

mask UNIT...

Enmascara una o más unidades, según se especifique en la línea de comandos. Esto vinculará estos archivos de unidad a /dev/null, lo que imposibilitará su inicio. Esta es una versión más potente de disable, ya que prohíbe todo tipo de activación de la unidad, incluido el habilitamiento y la activación manual. Utilice esta opción con cuidado. Esta opción respeta la opción --runtime para enmascarar temporalmente hasta el próximo reinicio del sistema. La opción --now se puede utilizar para asegurarse de que las unidades también se detengan. Este comando espera solo nombres de unidad válidos; no acepta rutas de archivo de unidad.

Tenga en cuenta que esto creará un enlace simbólico con el nombre de la unidad en /etc/systemd/system/ (en caso de que no se especifique --runtime) o /run/systemd/system/ (en caso de que se especifique --runtime). Si ya existe un archivo de unidad coincidente en estos directorios, esta operación fallará. Esto significa que la operación es principalmente útil para enmascarar unidades proporcionadas por el proveedor (ya que estas se envían en /usr/lib/systemd/system/ y no en los dos directorios mencionados), pero normalmente no funciona para unidades creadas localmente (ya que normalmente se colocan precisamente en los dos directorios mencionados). Se aplican restricciones similares para el modo --user, en cuyo caso los directorios están debajo del directorio de inicio del usuario.

Si una unidad se enmascara pero sus unidades desencadenantes siguen activas, se muestra una advertencia que contiene los nombres de las unidades desencadenantes. Se puede utilizar --no-warn para suprimir la advertencia.

Añadido en la versión 238.

unmask UNIT...

Des-enmascara uno o más archivos de unidad, según se especifique en la línea de comandos. Esto deshace el efecto de mask. Este comando espera solo nombres de unidad válidos; no acepta rutas de archivo de unidad.

Añadido en la versión 238.

link PATH...

Vincula un archivo de unidad que no está en la ruta de búsqueda de archivos de unidad a la ruta de búsqueda de archivos de unidad. Este comando espera una ruta absoluta a un archivo de unidad. El efecto de este comando se puede deshacer con disable. El efecto de este comando es que un archivo de unidad está disponible para comandos como start, incluso si no está instalado directamente en la ruta de búsqueda. El sistema de archivos donde se encuentran los archivos de unidad enlazados debe ser accesible cuando se inicia systemd (por ejemplo, cualquier cosa debajo de /home/ o /var/ no está permitido, a menos que esos directorios estén ubicados en el sistema de archivos raíz).


Añadido en la versión 233.

revert UNIT...

Revierte uno o más archivos de unidad a sus versiones proporcionadas por el proveedor. Este comando elimina los archivos de configuración que modifican las unidades especificadas, así como cualquier archivo de unidad configurado por el usuario que anule un archivo de unidad proporcionado por el proveedor. Específicamente, para una unidad "foo.service", los directorios coincidentes "foo.service.d/" con todos sus archivos contenidos se eliminan, tanto por debajo de los directorios de configuración persistente como de ejecución (es decir, por debajo de /etc/systemd/system y /run/systemd/system); si el archivo de unidad tiene una versión proporcionada por el proveedor (es decir, un archivo de unidad ubicado por debajo de /usr/), cualquier archivo de unidad persistente o de ejecución que coincida y lo anule también se elimina. Tenga en cuenta que si un archivo de unidad no tiene una versión proporcionada por el proveedor (es decir, solo se define por debajo de /etc/systemd/system o /run/systemd/system, pero no en un archivo de unidad almacenado por debajo de /usr/), entonces no se elimina. Además, si una unidad está enmascarada, se desmascara.

Efectivamente, este comando se puede utilizar para deshacer todos los cambios realizados con systemctl edit, systemctl set-property y systemctl mask, y devuelve el archivo de unidad original con su configuración original.

Añadido en la versión 230.

add-wants TARGET UNIT..., add-requires TARGET UNIT...

Añade dependencias "Wants=" o "Requires=" respectivamente, al TARGET especificado para una o más unidades.

Este comando respeta --system, --user, --runtime y --global de una manera similar a enable.

Añadido en la versión 217.

edit UNIT...

Edita o reemplaza un fragmento o el archivo de unidad principal, para extender o anular la definición de la unidad especificada.

Dependiendo de si se especifica --system (el valor predeterminado), --user o --global, este comando operará en los archivos de unidad del sistema, los archivos de unidad para el usuario que lo llama o los archivos de unidad compartidos entre todos los usuarios.

El editor (consulte la sección "Entorno" a continuación) se invoca en archivos temporales que se escribirán en la ubicación real si el editor se cierra correctamente. Después de que se completa la edición, la configuración se vuelve a cargar, lo que equivale a systemctl daemon-reload --system o systemctl daemon-reload --user. Para edit --global, la recarga no se realiza y las modificaciones solo tendrán efecto para los inicios de sesión posteriores (o después de que se solicite una recarga de otra manera).

Si se especifica --full, se creará o editará un reemplazo para el archivo de unidad principal. De lo contrario, se creará o editará un archivo de fragmento.

Si se especifica --drop-in=, se utilizará el nombre de archivo de fragmento dado en lugar de override.conf predeterminado.

La unidad debe existir, es decir, su archivo de unidad principal debe estar presente. Si se especifica --force, este requisito se ignora y se puede crear una nueva unidad (con --full) o se puede crear un fragmento para una unidad inexistente.


Si se especifica --runtime, los cambios se realizarán temporalmente en /run/ y se perderán en el próximo reinicio.

Si se especifica --stdin, el nuevo contenido se leerá desde la entrada estándar. En este modo, se descartan los contenidos antiguos del archivo.

Si el archivo temporal está vacío al salir, la modificación de la unidad relacionada se cancela.

Tenga en cuenta que este comando no se puede utilizar para editar unidades de forma remota y que no se pueden editar temporalmente las unidades que se encuentran en /etc/, ya que tienen prioridad sobre /run/.

Agregado en la versión 218.

get-default

Devuelve el objetivo predeterminado para el arranque. Esto devuelve el nombre de la unidad de destino predeterminada a la que se hace referencia (se crea un enlace simbólico).

Agregado en la versión 205.

set-default TARGET

Establece el objetivo predeterminado para el arranque. Esto establece (crea un enlace simbólico) el alias default.target a la unidad de destino especificada.

Agregado en la versión 205.

Comandos de máquina

list-machines [PATTERN...]

Enumera el host y todos los contenedores locales en ejecución con su estado. Si se especifica uno o más PATTERNs, solo se muestran los contenedores que coincidan con uno de ellos.

Agregado en la versión 212.

Comandos de trabajo

list-jobs [PATTERN...]

Enumera los trabajos que están en progreso. Si se especifica uno o más PATTERNs, solo se muestran los trabajos para las unidades que coincidan con uno de ellos.

Cuando se combina con --after o --before, la lista se amplía con información sobre qué otro trabajo está esperando cada trabajo y qué otros trabajos están esperando a él, consulte lo anterior.

Agregado en la versión 233.

cancel [JOB...]

Cancela uno o más trabajos especificados en la línea de comandos por sus ID de trabajo numéricos. Si no se especifica ningún ID de trabajo, se cancelan todos los trabajos pendientes.

Agregado en la versión 233.

Comandos de entorno

systemd admite un bloque de entorno que se pasa a los procesos que inicia el administrador. Los nombres de las variables pueden contener letras ASCII, dígitos y el carácter de guion bajo. Los nombres de las variables no pueden estar vacíos ni comenzar con un dígito. En los valores de las variables, se permiten la mayoría de los caracteres, pero toda la secuencia debe ser UTF-8 válida. (Tenga en cuenta que los caracteres de control como el salto de línea (NL), el tabulador (TAB) o el carácter de escape (ESC) son ASCII válidos y, por lo tanto, UTF-8 válidos). La longitud total del bloque de entorno está limitada al valor _SC_ARG_MAX definido por sysconf(3).

show-environment

Vuelca el bloque de entorno del administrador systemd. Este es el bloque de entorno que se pasa a todos los procesos que inicia el administrador. El bloque de entorno se volcará en forma directa, adecuado para ser utilizado en la mayoría de los shells. Si no hay caracteres especiales ni espacios en blanco en los valores de las variables, no se realiza ningún escape y las asignaciones tienen la forma "VARIABLE=value". Si hay espacios en blanco o caracteres que tienen un significado especial para el shell, se utiliza el escape de comilla simple con signo de dólar y las asignaciones tienen la forma "VARIABLE=$'value'". Esta sintaxis es compatible con bash(1), zsh(1), ksh(1) y ash(1) de busybox(1), pero no con dash(1) o fish(1).


Tenga en cuenta que esto muestra el bloque de entorno efectivo, es decir, la combinación de variables de entorno configuradas a través de archivos de configuración, generadores de entorno y a través de IPC (es decir, a través del comando set-environment descrito a continuación). En el momento en que se bifurca un proceso de unidad, este bloque de entorno combinado se combinará además con las variables de entorno por unidad, que no son visibles en este comando.

set-environment VARIABLE=VALUE...

Establece una o más variables de entorno del administrador de servicios, según se especifique en la línea de comandos. Este comando fallará si los nombres y los valores de las variables no cumplen con las reglas enumeradas anteriormente.

Tenga en cuenta que esto opera en un bloque de entorno separado del bloque de entorno configurado desde la configuración del administrador de servicios y los generadores de entorno. Siempre que se invoca un proceso, los dos bloques se combinan (incorporando también cualquier variable de entorno por servicio) y se pasan a este. El comando show-environment mostrará la combinación de los bloques, como se mencionó anteriormente.

Agregado en la versión 233.

unset-environment VARIABLE...

Elimina una o más variables de entorno del administrador del sistema. Si solo se especifica un nombre de variable, se eliminará independientemente de su valor. Si se especifica una variable y un valor, la variable solo se eliminará si tiene el valor especificado.

Tenga en cuenta que esto opera en un bloque de entorno separado del bloque de entorno configurado desde la configuración del administrador de servicios y los generadores de entorno. Siempre que se invoca un proceso, los dos bloques se combinan (incorporando también cualquier variable de entorno por servicio) y se pasan a este. El comando show-environment mostrará la combinación de los bloques, como se mencionó anteriormente. Tenga en cuenta que esto significa que este comando no se puede utilizar para eliminar variables de entorno definidas en los archivos de configuración del administrador de servicios o a través de generadores.

Agregado en la versión 233.

import-environment VARIABLE...

Importa todas o una o más variables de entorno establecidas en el cliente al bloque de entorno del administrador del sistema. Si se pasa una lista de nombres de variables de entorno, los valores del lado del cliente se importan al bloque de entorno del administrador. Si alguno de los nombres no son nombres de variables de entorno válidos o tienen valores no válidos según las reglas descritas anteriormente, se genera un error. Si no se pasan argumentos, se importa todo el bloque de entorno heredado por el proceso systemctl. En este modo, cualquier variable de entorno heredada no válida se ignora en silencio.

La importación del bloque de entorno heredado completo (llamando a este comando sin ningún argumento) está en desuso. Un shell establecerá docenas de variables que solo tienen sentido localmente y solo están destinadas a procesos que son descendientes del shell. Dichas variables en el bloque de entorno global son confusas para otros procesos.

Agregado en la versión 209.

Comandos de estado del administrador

daemon-reload

Recarga la configuración del administrador systemd. Esto volverá a ejecutar todos los generadores (consulte systemd.generator(7)), volverá a cargar todos los archivos de unidad y recreará todo el árbol de dependencias. Mientras se está recargando el daemon, todos los sockets en los que systemd escucha en nombre de la configuración del usuario permanecerán accesibles.


Este comando no debe confundirse con el comando reload.

daemon-reexec

Reejecute el administrador systemd. Esto serializará el estado del administrador, reejecutará el proceso y deserializará el estado nuevamente. Este comando tiene poca utilidad, excepto para la depuración y las actualizaciones de paquetes. A veces, puede ser útil como un daemon-reload más completo. Mientras el daemon se está reejecutando, todos los sockets en los que systemd está escuchando en nombre de la configuración del usuario permanecerán accesibles.

log-level [NIVEL]

Si no se proporciona ningún argumento, imprime el nivel de registro actual del administrador. Si se proporciona un argumento opcional NIVEL, entonces el comando cambia el nivel de registro actual del administrador a NIVEL (acepta los mismos valores que --log-level=, que se describe en systemd(1)).

Agregado en la versión 244.

log-target [OBJETIVO]

Si no se proporciona ningún argumento, imprime el objetivo de registro actual del administrador. Si se proporciona un argumento opcional OBJETIVO, entonces el comando cambia el objetivo de registro actual del administrador a OBJETIVO (acepta los mismos valores que --log-target=, que se describe en systemd(1)).

Agregado en la versión 244.

service-watchdogs [sí|no]

Si no se proporciona ningún argumento, imprime el estado actual de los watchdogs de tiempo de ejecución del servicio del administrador. Si se proporciona un argumento booleano opcional, entonces habilita o deshabilita globalmente los watchdogs de tiempo de ejecución del servicio (WatchdogSec=) y las acciones de emergencia (por ejemplo, OnFailure= o StartLimitAction=); consulte systemd.service(5). El watchdog de hardware no se ve afectado por esta configuración.

Agregado en la versión 244.

Comandos del sistema

is-system-running

Verifica si el sistema está operativo. Esto devuelve éxito (código de salida 0) cuando el sistema está completamente activo y en ejecución, específicamente no en modo de inicio, apagado o mantenimiento, y sin servicios fallidos. De lo contrario, se devuelve un error (código de salida distinto de cero). Además, el estado actual se imprime en una cadena corta en la salida estándar, consulte la tabla a continuación. Use --quiet para suprimir esta salida.

Use --wait para esperar hasta que se complete el proceso de inicio antes de imprimir el estado actual y devolver el estado de error apropiado. Si se utiliza --wait, los estados initializing o starting no se informarán; en cambio, el comando se bloqueará hasta que se alcance un estado posterior (como running o degraded).

Tabla 4. Salida de is-system-running

┌──────────────┬────────────────────────────┬───────────┐
│ Nombre       │ Descripción                │ Código de  │
│              │                              │ Salida     │
├──────────────┼────────────────────────────┼───────────┤
│ initializing │ Inicio temprano, antes de    │ > 0        │
│              │ que se alcance basic.target o │            │
│              │ se ingrese el estado de      │            │
│              │ mantenimiento.               │            │
├──────────────┼────────────────────────────┼───────────┤
│ starting     │ Inicio tardío, antes de que  │ > 0        │
│              │ la cola de trabajos se vuelva │            │
│              │ inactiva por primera vez o   │            │
│              │ se alcance uno de los        │            │
│              │ objetivos de recuperación.   │            │
├──────────────┼────────────────────────────┼───────────┤
│ running      │ El sistema está totalmente    │ 0          │
│              │ operativo.                   │            │
├──────────────┼────────────────────────────┼───────────┤
│ degraded     │ El sistema está operativo    │ > 0        │
│              │ pero una o más unidades han  │            │
│              │ fallado.                     │            │
├──────────────┼────────────────────────────┼───────────┤
│ maintenance  │ El objetivo de recuperación o │ > 0        │
│              │ emergencia está activo.      │            │
├──────────────┼────────────────────────────┼───────────┤
│ stopping     │ El administrador se está     │ > 0        │
│              │ apagando.                    │            │
├──────────────┼────────────────────────────┼───────────┤
│ offline      │ El administrador no se está   │ > 0        │
│              │ ejecutando. Específicamente,  │            │
│              │ este es el estado operativo   │            │
│              │ si un programa incompatible   │            │
│              │ se está ejecutando como       │            │
│              │ administrador del sistema     │            │
│              │ (PID 1).                     │            │
├──────────────┼────────────────────────────┼───────────┤
│ unknown      │ No se pudo determinar el      │ > 0        │
│              │ estado operativo, debido a   │            │
│              │ la falta de recursos u otra  │            │
│              │ causa de error.              │            │
└──────────────┴────────────────────────────┴───────────┘

Agregado en la versión 215.

default
Entrar en modo predeterminado. Esto es equivalente a `systemctl isolate default.target`. Esta operación es bloqueante de forma predeterminada, use `--no-block` para solicitar un comportamiento asíncrono.

rescue
Entrar en modo de rescate. Esto es equivalente a `systemctl isolate rescue.target`. Esta operación es bloqueante de forma predeterminada, use `--no-block` para solicitar un comportamiento asíncrono.

emergency
Entrar en modo de emergencia. Esto es equivalente a `systemctl isolate emergency.target`. Esta operación es bloqueante de forma predeterminada, use `--no-block` para solicitar un comportamiento asíncrono.

halt
Apagar y detener el sistema. Esto es en su mayoría equivalente a `systemctl start halt.target --job-mode=replace-irreversibly --no-block`, pero también imprime un mensaje en la pared a todos los usuarios. Este comando es asíncrono; devolverá después de que la operación de apagado se haya puesto en cola, sin esperar a que se complete. Tenga en cuenta que esta operación simplemente detendrá el kernel del SO después de apagarlo, dejando el hardware encendido. Use `systemctl poweroff` para apagar el sistema (vea abajo).

Si se combina con `--force`, se omite el apagado de todos los servicios en ejecución, sin embargo, todos los procesos se terminan y todos los sistemas de archivos se desmontan o se montan en modo de solo lectura, inmediatamente seguido del apagado del sistema. Si se especifica `--force` dos veces, la operación se ejecuta inmediatamente sin terminar ningún proceso ni desmontar ningún sistema de archivos. Esto puede provocar la pérdida de datos. Tenga en cuenta que cuando se especifica `--force` dos veces, la operación de apagado se ejecuta por el propio `systemctl`, y no se contacta al administrador del sistema. Esto significa que el comando debería tener éxito incluso cuando el administrador del sistema se ha bloqueado.

Si se combina con `--when=`, el apagado se programará después de la hora especificada. Y `--when=cancel` cancelará el apagado.

poweroff
Apagar el sistema. Esto es en su mayoría equivalente a `systemctl start poweroff.target --job-mode=replace-irreversibly --no-block`, pero también imprime un mensaje en la pared a todos los usuarios. Este comando es asíncrono; devolverá después de que la operación de apagado se haya puesto en cola, sin esperar a que se complete.

Este comando respeta `--force` y `--when=` de forma similar a `halt`.

reboot
Apagar y reiniciar el sistema.

Este comando es en su mayoría equivalente a `systemctl start reboot.target --job-mode=replace-irreversibly --no-block`, pero también imprime un mensaje en la pared a todos los usuarios. Este comando es asíncrono; devolverá después de que la operación de reinicio se haya puesto en cola, sin esperar a que se complete.

Si se proporciona la opción `--reboot-argument=`, se pasará como argumento opcional a la llamada al sistema [reboot]({filename}../../reboot)(2).

Se pueden usar las opciones `--boot-loader-entry=`, `--boot-loader-menu=` y `--firmware-setup` para seleccionar qué hacer después del reinicio. Consulte las descripciones de esas opciones para obtener más detalles.

Este comando respeta `--force` y `--when=` de forma similar a `halt`.

Si se ha cargado un nuevo kernel mediante kexec --load, se realizará un kexec en lugar de un reinicio, a menos que se haya establecido SYSTEMCTL_SKIP_AUTO_KEXEC=1. Si se ha configurado un nuevo sistema de archivos raíz en /run/nextroot/, se realizará un reinicio suave en lugar de un reinicio, a menos que se haya establecido SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1.

Añadido en la versión 246.

kexec

Apaga y reinicia el sistema mediante kexec. Este comando cargará un kernel kexec si aún no se había cargado o fallará. Un kernel puede cargarse antes mediante un paso separado; esto es especialmente útil si se desea un initrd personalizado u opciones adicionales de línea de comandos del kernel. La opción --force se puede utilizar para continuar sin un kernel kexec, es decir, para realizar un reinicio normal. El paso final de reinicio es equivalente a systemctl start kexec.target --job-mode=replace-irreversibly --no-block.

Para cargar un kernel, se realiza una enumeración siguiendo la especificación UAPI.1 Boot Loader Specification[1], y se carga la entrada de inicio predeterminada. Para que este paso tenga éxito, el sistema debe estar utilizando UEFI y las entradas del cargador de arranque deben estar configuradas adecuadamente. bootctl list se puede utilizar para listar las entradas de inicio, consulte bootctl(1).

Este comando es asíncrono; devolverá después de que la operación de reinicio se haya puesto en cola, sin esperar a que se complete.

Este comando respeta --force y --when= de forma similar a halt.

Si se ha cargado un nuevo kernel mediante kexec --load, se realizará un kexec cuando se invoque reboot, a menos que se haya establecido SYSTEMCTL_SKIP_AUTO_KEXEC=1.

soft-reboot

Apaga y reinicia el espacio de usuario. Esto es equivalente a systemctl start soft-reboot.target --job-mode=replace-irreversibly --no-block. Este comando es asíncrono; devolverá después de que la operación de reinicio se haya puesto en cola, sin esperar a que se complete.

Este comando respeta --force y --when= de manera similar a halt.

Esta operación solo reinicia el espacio de usuario, dejando el kernel en ejecución. Consulte systemd-softreboot.service(8) para obtener más detalles.

Si se ha configurado un nuevo sistema de archivos raíz en /run/nextroot/, se realizará un soft-reboot cuando se invoque reboot, a menos que se haya establecido SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1.

Añadido en la versión 254.

exit [EXIT_CODE]

Solicita al gestor de servicios que se cierre. Esto solo es compatible con los gestores de servicios de usuario (es decir, en conjunto con la opción --user) o en contenedores, y de lo contrario es equivalente a poweroff. Este comando es asíncrono; devolverá después de que la operación de cierre se haya puesto en cola, sin esperar a que se complete.

El gestor de servicios se cerrará con el código de salida especificado, si se pasa EXIT_CODE.

Añadido en la versión 227.

switch-root [ROOT [INIT]]

Cambia a un directorio raíz diferente y ejecuta un nuevo proceso de gestor de sistema debajo de él. Esto está diseñado para usarse en el initrd, y realizará la transición desde el proceso de gestor de sistema initrd (también conocido como proceso "init", PID 1) al gestor de sistema principal que se carga desde el sistema de archivos raíz real del host. Esta llamada toma dos argumentos: el directorio que se convertirá en el nuevo directorio raíz, y la ruta al nuevo binario del gestor de sistema que se ejecutará debajo de él como PID 1. Si ambos se omiten o el primero es una cadena vacía, se establece por defecto en /sysroot/. Si este último se omite o es una cadena vacía, se buscará automáticamente un binario systemd y se utilizará como gestor de servicios. Si la ruta del gestor de sistema se omite, es igual a la cadena vacía o es idéntica a la ruta del binario systemd, el estado del proceso del gestor de sistema initrd se pasará al gestor de sistema principal, lo que permite una introspección posterior del estado de los servicios involucrados en la fase de arranque initrd.


Agregado en la versión 209.

sleep

Pone el sistema en modo de suspensión mediante suspensión, hibernación, hibernación híbrida o suspensión e hibernación. La operación de suspensión que se utilizará se selecciona automáticamente mediante systemd-logind.service(8). Por defecto, se utiliza la opción de suspensión e hibernación, y si no es compatible, se vuelve a la suspensión y luego a la hibernación. Consulte la configuración SleepOperation= en logind.conf(5) para obtener más detalles. Este comando es asíncrono y devolverá el valor una vez que la operación de suspensión se haya encolado correctamente. No esperará a que se complete el ciclo de suspensión/reanudación.

Agregado en la versión 256.

suspend

Suspende el sistema. Esto activará la unidad de destino especial suspend.target. Este comando es asíncrono y devolverá el valor una vez que la operación de suspensión se haya encolado correctamente. No esperará a que se complete el ciclo de suspensión/reanudación.

Si se especifica --force, y systemd-logind devuelve un error para la operación, el error se ignorará y la operación se intentará de nuevo directamente iniciando la unidad de destino.

hibernate

Hiberna el sistema. Esto activará la unidad de destino especial hibernate.target. Este comando es asíncrono y devolverá el valor una vez que la operación de hibernación se haya encolado correctamente. No esperará a que se complete el ciclo de hibernación/reanudación.

Este comando respeta la opción --force de la misma manera que suspend.

hybrid-sleep

Hiberna y suspende el sistema. Esto activará la unidad de destino especial hybrid-sleep.target. Este comando es asíncrono y devolverá el valor una vez que la operación de hibernación híbrida se haya encolado correctamente. No esperará a que se complete el ciclo de suspensión/reanudación.

Este comando respeta la opción --force de la misma manera que suspend.

Agregado en la versión 196.

suspend-then-hibernate

Suspende el sistema e hibérnalo cuando la batería esté baja o cuando haya transcurrido el tiempo especificado en systemd-sleep.conf. Esto activará la unidad de destino especial suspend-then-hibernate.target. Este comando es asíncrono y devolverá el valor una vez que la operación de hibernación híbrida se haya encolado correctamente. No esperará a que se complete el ciclo de suspensión/reanudación o hibernación/reanudación.

Este comando respeta la opción --force de la misma manera que suspend.

Agregado en la versión 240.

Sintaxis de los parámetros

Los comandos de unidad enumerados anteriormente aceptan un solo nombre de unidad (designado como UNIT) o varias especificaciones de unidad (designadas como PATTERN...). En el primer caso, se debe proporcionar el nombre de la unidad con o sin un sufijo. Si no se especifica el sufijo (el nombre de la unidad está "abreviado"), systemctl agregará un sufijo adecuado, ".service" por defecto y un sufijo específico del tipo en caso de comandos que operen solo en tipos de unidad específicos. Por ejemplo:


# systemctl start sshd

y

# systemctl start sshd.service

son equivalentes, así como

# systemctl isolate default

y

# systemctl isolate default.target

Tenga en cuenta que las rutas absolutas a los nodos de dispositivos se convierten automáticamente en nombres de unidades de dispositivo y las demás rutas absolutas en nombres de unidades de montaje.

# systemctl status /dev/sda
# systemctl status /home

son equivalentes a:

# systemctl status dev-sda.device
# systemctl status home.mount

En el segundo caso, los comodines de tipo shell se compararán con los nombres principales de todas las unidades que se encuentran actualmente en la memoria; los nombres de unidad literales, con o sin un sufijo, se tratarán como en el primer caso. Esto significa que los nombres de unidad literales siempre se refieren a exactamente una unidad, pero los comodines pueden coincidir con cero unidades y esto no se considera un error.

Los patrones de comodín utilizan fnmatch(3), por lo que se utilizan las reglas de comodín de shell normales y se pueden utilizar "*", "?", "[]". Consulte glob(7) para obtener más detalles. Los patrones se comparan con los nombres principales de las unidades que se encuentran actualmente en la memoria, y los patrones que no coinciden con nada se omiten silenciosamente. Por ejemplo:

# systemctl stop "sshd@*.service"

detendrá todas las instancias de [email protected]. Tenga en cuenta que los nombres alternativos de las unidades y las unidades que no están en la memoria no se consideran para la expansión de comodines.

Para los comandos de archivo de unidad, la UNIDAD especificada debe ser el nombre del archivo de unidad (posiblemente abreviado, consulte arriba) o la ruta absoluta al archivo de unidad:

# systemctl enable foo.service

o

# systemctl link /path/to/foo.service

OPCIONES

Se entienden las siguientes opciones:

-t, --type=

El argumento es una lista separada por comas de tipos de unidad, como service y socket. Cuando se enumeran las unidades con list-units, list-dependencies, show o status, solo se mostrarán las unidades de los tipos especificados. De forma predeterminada, se muestran las unidades de todos los tipos.

En un caso especial, si uno de los argumentos es help, se imprimirá una lista de valores permitidos y el programa saldrá.

--state=

El argumento es una lista separada por comas de los estados LOAD, SUB o ACTIVE de la unidad. Cuando se enumeran las unidades con list-units, list-dependencies, show o status, muestre solo las que se encuentran en los estados especificados. Use --state=failed o --failed para mostrar solo las unidades que fallaron.

En un caso especial, si uno de los argumentos es help, se imprimirá una lista de valores permitidos y el programa saldrá.

Agregado en la versión 206.

-p, --property=

Cuando se muestran las propiedades de unidad/trabajo/administrador con el comando show, limite la visualización a las propiedades especificadas en el argumento. El argumento debe ser una lista separada por comas de nombres de propiedad, como "MainPID". A menos que se especifique, se mostrarán todas las propiedades conocidas. Si se especifica más de una vez, se mostrarán todas las propiedades con los nombres especificados. Se ha implementado la finalización de shell para los nombres de propiedad.


Para el propio gestor, systemctl show mostrará todas las propiedades disponibles, la mayoría de las cuales se derivan o coinciden estrechamente con las opciones descritas en systemd-system.conf(5).

Las propiedades de las unidades varían según el tipo de unidad, por lo que mostrar cualquier unidad (incluso una inexistente) es una forma de listar las propiedades que pertenecen a este tipo. De manera similar, mostrar cualquier trabajo listará las propiedades que pertenecen a todos los trabajos. Las propiedades de las unidades se documentan en systemd.unit(5), y las páginas de los tipos de unidades individuales systemd.service(5), systemd.socket(5), etc.

-P

Equivalente a --value --property=, es decir, muestra el valor de la propiedad sin el nombre de la propiedad ni el signo "=". Tenga en cuenta que el uso de -P una vez también afectará a todas las propiedades enumeradas con ^ p/--property=.

Añadido en la versión 246.

-a, --all

Cuando se enumeran las unidades con list-units, también muestra las unidades inactivas y las unidades que siguen a otras unidades. Cuando se muestran las propiedades de unidades/trabajos/gestores, muestra todas las propiedades, independientemente de si están establecidas o no.

Para listar todas las unidades instaladas en el sistema de archivos, utilice el comando list-unit-files en su lugar.

Cuando se enumeran las unidades con list-dependencies, muestra recursivamente las dependencias de todas las unidades dependientes (por defecto, solo se muestran las dependencias de las unidades objetivo).

Cuando se utiliza con status, muestra los mensajes del registro en su totalidad, incluso si incluyen caracteres no imprimibles o son muy largos. Por defecto, los campos con caracteres no imprimibles se abrevia como "datos blob". (Tenga en cuenta que el paginador puede volver a escapar los caracteres no imprimibles).

-r, --recursive

Cuando se enumeran las unidades, también muestra las unidades de los contenedores locales. Las unidades de los contenedores locales tendrán el prefijo del nombre del contenedor, separadas por un único carácter de dos puntos (":").

Añadido en la versión 212.

--reverse

Muestra las dependencias inversas entre las unidades con list-dependencies, es decir, sigue las dependencias del tipo WantedBy=, RequiredBy=, UpheldBy=, PartOf=, BoundBy=, en lugar de Wants= y similares.

Añadido en la versión 203.

--after

Con list-dependencies, muestra las unidades que están ordenadas antes de la unidad especificada. En otras palabras, enumera recursivamente las unidades que siguen la dependencia After=.

Tenga en cuenta que cualquier dependencia After= se refleja automáticamente para crear una dependencia Before=. Las dependencias temporales se pueden especificar explícitamente, pero también se crean implícitamente para las unidades que son objetivos de WantedBy= (consulte systemd.target(5)) y como resultado de otras directivas (por ejemplo, RequiresMountsFor=). Tanto las dependencias introducidas explícita como implícitamente se muestran con list-dependencies.

Cuando se pasa al comando list-jobs, para cada trabajo impreso, muestra qué otros trabajos están esperando por él. Se puede combinar con --before para mostrar tanto los trabajos que esperan a cada trabajo como todos los trabajos que cada trabajo está esperando.

Añadido en la versión 203.

--before

Con list-dependencies, muestra las unidades que están ordenadas después de la unidad especificada. En otras palabras, enumera recursivamente las unidades que siguen la dependencia Before=.


Cuando se pasa al comando list-jobs, para cada trabajo impreso, muestra qué otros trabajos están esperando. Se puede combinar con --after para mostrar tanto los trabajos que esperan cada trabajo como todos los trabajos que cada trabajo está esperando.

Añadido en la versión 212.

--with-dependencies

Cuando se utiliza con status, cat, list-units y list-unit-files, estos comandos imprimen todas las unidades especificadas y las dependencias de esas unidades.

Las opciones --reverse, --after y --before se pueden utilizar para cambiar qué tipos de dependencias se muestran.

Añadido en la versión 245.

-l, --full

No se truncan los nombres de las unidades, las entradas del árbol de procesos, la salida del diario ni las descripciones de las unidades en la salida de status, list-units, list-jobs y list-timers.

También, muestra los destinos de instalación en la salida de is-enabled.

--value

Cuando se imprimen las propiedades con show, solo imprime el valor y omite el nombre de la propiedad y el "=".

También, consulte la opción -P anterior.

Añadido en la versión 230.

--show-types

Cuando se muestran los sockets, muestra el tipo de socket.

Añadido en la versión 202.

--job-mode=

Cuando se pone en cola un nuevo trabajo, esta opción controla cómo manejar los trabajos ya en cola. Acepta uno de los siguientes valores: "fail", "lenient", "replace", "replace-irreversibly", "isolate", "ignore-dependencies", "ignore-requirements", "flush", "triggering" o "restart-dependencies". El valor predeterminado es "replace", excepto cuando se utiliza el comando isolate, que implica el modo de trabajo "isolate".

Si se especifica "fail" y una operación solicitada en las dependencias débiles entra en conflicto con un trabajo pendiente (más concretamente: hace que un trabajo de inicio pendiente se revierta a un trabajo de detención o viceversa), la operación falla.

Si se especifica "lenient" y una operación solicitada entra en conflicto con cualquier unidad activa o en proceso de activación, la operación falla.

Si se especifica "replace" (el valor predeterminado), cualquier trabajo pendiente en conflicto se reemplaza según sea necesario.

Si se especifica "replace-irreversibly", se opera como "replace", pero también se marcan los nuevos trabajos como irreversibles. Esto impide que las transacciones futuras en conflicto reemplacen estos trabajos (o incluso se pongan en cola mientras los trabajos irreversibles aún están pendientes). Los trabajos irreversibles aún se pueden cancelar utilizando el comando cancel. Este modo de trabajo debe utilizarse en cualquier transacción que incluya shutdown.target.

"isolate" solo es válido para las operaciones de inicio y hace que todas las demás unidades se detengan cuando se inicia la unidad especificada. Este modo se utiliza siempre cuando se utiliza el comando isolate.

"flush" hará que se cancelen todos los trabajos en cola cuando se ponga en cola el nuevo trabajo.

Si se especifica "ignore-dependencies", todas las dependencias de la unidad se ignorarán para este nuevo trabajo y la operación se ejecutará inmediatamente. Si se pasa, no se incluirán las unidades necesarias de la unidad pasada y no se respetarán las dependencias de ordenamiento. Esta es principalmente una herramienta de depuración y rescate para el administrador y no debe utilizarse por las aplicaciones.

"ignore-requirements" es similar a "ignore-dependencies", pero solo hace que se ignoren las dependencias de requisitos, las dependencias de ordenamiento seguirán respetándose.


"triggering" solo se puede usar con systemctl stop. En este modo, la unidad especificada y cualquier unidad activa que la active se detienen. Consulte la sección Triggers= en systemd.unit(5) para obtener más información sobre las unidades que se activan.

"restart-dependencies" solo se puede usar con systemctl start. En este modo, las dependencias de la unidad especificada recibirán la propagación de reinicio, como si se hubiera puesto en cola un trabajo de reinicio para la unidad.

Añadido en la versión 209.

-T, --show-transaction

Cuando se pone en cola un trabajo de unidad (por ejemplo, como resultado de una invocación de systemctl start o similar), muestra información breve sobre todos los trabajos que se ponen en cola, que cubre tanto el trabajo solicitado como los que se añaden debido a las dependencias de la unidad. Tenga en cuenta que la salida solo incluirá los trabajos que forman parte inmediata de la transacción solicitada. Es posible que el código del programa de inicio del servicio que se ejecuta como resultado de los trabajos puestos en cola solicite más trabajos para que se incluyan. Esto significa que la finalización de los trabajos enumerados puede dar lugar, en última instancia, a más trabajos que los enumerados.

Añadido en la versión 242.

--fail

Abreviatura de --job-mode=fail.

Cuando se utiliza con el comando kill, si no se eliminaron unidades, la operación da como resultado un error.

Añadido en la versión 227.

--check-inhibitors=

Cuando se solicita el apagado o el estado de suspensión del sistema, esta opción controla la comprobación de los bloqueos de inhibidores. Acepta uno de los valores "auto", "yes" y "no". Por defecto, se establece en "auto", lo que significa que logind realizará la comprobación y respetará los bloqueos de inhibidores activos, pero systemctl solo realizará una comprobación del lado del cliente para las invocaciones interactivas (es decir, desde un TTY), para que se pueda devolver un error más amigable e informativo a los usuarios. "no" deshabilita las comprobaciones tanto en systemctl como en systemd-logind(8).

Las aplicaciones pueden establecer bloqueos de inhibidores para evitar que se interrumpan ciertas operaciones importantes (como la grabación de CD) durante el apagado o la suspensión del sistema. Cualquier usuario puede tomar estos bloqueos y los usuarios con privilegios pueden anular estos bloqueos. Si se toman bloqueos, las solicitudes de apagado y suspensión normalmente fallarán (a menos que se anulen explícitamente con "no").

La opción --force proporciona otra forma de anular los inhibidores.

Añadido en la versión 248.

-i

Atajo para --check-inhibitors=no.

Añadido en la versión 198.

--dry-run

Simplemente imprime lo que se haría. Actualmente es compatible con los verbos halt, poweroff, reboot, kexec, suspend, hibernate, hybrid-sleep, suspend-then-hibernate, default, rescue, emergency y exit.

Añadido en la versión 236.

-q, --quiet

Suprime la impresión de los resultados de varios comandos y también las indicaciones sobre las líneas de registro truncadas. Esto no suprime la salida de los comandos para los que la salida impresa es el único resultado (como show). Los errores siempre se imprimen.

-v, --verbose

Muestra la salida del registro de la unidad mientras se ejecutan las operaciones de la unidad.

Añadido en la versión 258.

--no-warn

No genera las advertencias que se muestran por defecto en los siguientes casos:


cuando systemctl se invoca sin montar el sistema de archivos /proc en /proc,

cuando se utiliza enable o disable en unidades sin información de instalación (es decir, no tienen o
tienen una sección [Install] vacía),

cuando se utiliza disable combinado con --user en unidades que están habilitadas en el ámbito global,

cuando una unidad que ha sido detenida, deshabilitada o enmascarada aún tiene unidades de activación activas,

cuando un archivo de unidad se modifica y requiere daemon-reload.

Agregado en la versión 253.

--no-block

No espere de forma sincrónica a que se complete la operación solicitada. Si no se especifica, el trabajo se verificará, se pondrá en cola y systemctl esperará hasta que se complete el inicio de la unidad. Al pasar este argumento, solo se verifica y se pone en cola. Esta opción no se puede combinar con --wait.

--wait

Cuando se usa con start o restart, espere de forma sincrónica a que las unidades iniciadas terminen nuevamente. Esta opción no se puede combinar con --no-block. Tenga en cuenta que esto esperará indefinidamente si alguna unidad no termina (por sí sola o por detenerse explícitamente); en particular, los servicios que utilizan "RemainAfterExit=yes".

Cuando se usa con is-system-running, espere hasta que se complete el proceso de inicio antes de devolver el resultado.

Cuando se usa con kill, espere hasta que las unidades señaladas terminen. Tenga en cuenta que esto esperará indefinidamente si alguna unidad no termina.

Agregado en la versión 232.

--user

Comuníquese con el administrador de servicios del usuario que realiza la llamada, en lugar del administrador de servicios del sistema.

--system

Comuníquese con el administrador de servicios del sistema. Este es el valor predeterminado implícito.

--failed

Liste las unidades en estado de error. Esto es equivalente a --state=failed.

Agregado en la versión 233.

--no-wall

No envíe un mensaje de "wall" antes de halt, power-off y reboot.

--global

Cuando se usa con enable y disable, opere en el directorio de configuración de usuario global, habilitando o deshabilitando así un archivo de unidad globalmente para todos los inicios de sesión futuros de todos los usuarios.

--no-reload

Cuando se usa con enable, disable, preset, mask o unmask, no vuelva a cargar implícitamente la configuración del daemon después de ejecutar los cambios.

--kill-whom=

Cuando se usa con kill, elija qué procesos enviar a la señal de proceso UNIX. Debe ser uno de main, control, cgroup o all para seleccionar si se deben eliminar solo el proceso principal, el proceso de control, todos los procesos en el grupo de control de la unidad o todos los procesos de la unidad. El proceso principal de la unidad es el que define su ciclo de vida. Un proceso de control de una unidad es aquel que es invocado por el administrador para inducir cambios de estado en él. Por ejemplo, todos los procesos iniciados debido a la configuración de ExecStartPre=, ExecStop= o ExecReload= de las unidades de servicio son procesos de control. Tenga en cuenta que solo hay un proceso de control por unidad a la vez, ya que solo se ejecuta un cambio de estado a la vez. Para los servicios de tipo Type=forking, el proceso inicial iniciado por el administrador para ExecStart= es un proceso de control, mientras que el proceso que finalmente se bifurca a partir de él se considera el proceso principal de la unidad (si se puede determinar). Esto es diferente para las unidades de servicio de otros tipos, donde el proceso que se bifurca del administrador para ExecStart= siempre es el proceso principal. Una unidad de servicio consta de cero o un proceso principal, cero o un proceso de control más cualquier número de procesos adicionales que forman parte del grupo de control de la unidad. Sin embargo, no todos los tipos de unidades administran procesos de estos tipos. Por ejemplo, para las unidades de montaje, se definen los procesos de control (que son las invocaciones de /usr/bin/mount y /usr/bin/umount), pero no se define ningún proceso principal. Si se omite, el valor predeterminado es all, excepto si se usa --kill-subgroup=, en cuyo caso el valor predeterminado es cgroup.


Añadido en la versión 252.

--kill-value=INT

Si se usa con el comando kill, encola una señal junto con el valor entero especificado como parámetro al proceso (o procesos) especificado(s). Esta operación solo está disponible para las señales POSIX en tiempo real (es decir, --signal=SIGRTMIN+... o --signal=SIGRTMAX-...), y garantiza que las señales se generen mediante la llamada al sistema sigqueue(3), en lugar de kill(3). El valor especificado debe ser un entero con signo de 32 bits y puede especificarse en decimal, en hexadecimal (si se antepone con "0x"), octal (si se antepone con "0o") o binario (si se antepone con "0b").

Si se utiliza esta opción, la señal solo se encolará en el proceso principal o de control de la unidad, nunca en otros procesos que pertenezcan a la unidad, es decir, --kill-whom=all solo afectará a los procesos principal y de control, pero no a otros procesos.

Añadido en la versión 254.

--kill-subgroup=PATH

Toma una subruta de grupo de control para enviar señales, para su uso con el comando kill. Por defecto, la señal elegida se envía a todos los procesos de los grupos de control de la unidad (así como a los procesos principal y de control (si están fuera), sujeto a --kill-whom=). Pero con esta opción, se puede seleccionar un subgrupo en su lugar. Esta funcionalidad solo está disponible si se utiliza "cgroup" o "cgroup-fail" con --kill-whom=, y de hecho, el primero es el valor predeterminado si se utiliza --kill-subgroup=.

La ruta especificada puede, pero no tiene por qué, anteponerse con una barra diagonal, y su ausencia o presencia no tiene ningún efecto; la ruta se toma en cualquier caso en relación con la ruta principal del grupo de control de la unidad.

Esta funcionalidad solo está disponible en unidades donde la delegación de grupos de control está habilitada (consulte Delegate= en systemd.resource-control(5)).

Añadido en la versión 258.

-s, --signal=

Cuando se utiliza con kill, elija qué señal enviar a los procesos seleccionados. Debe ser uno de los especificadores de señal conocidos, como SIGTERM, SIGINT o SIGSTOP. Si se omite, el valor predeterminado es SIGTERM.

El valor especial "help" mostrará los valores conocidos y el programa se cerrará inmediatamente, y el valor especial "list" mostrará los valores conocidos junto con los números de señal y el programa se cerrará inmediatamente.

--what=

Seleccione qué tipo de recursos por unidad eliminar cuando se invoca el comando clean, consulte arriba. Toma uno de configuration, state, cache, logs, runtime, fdstore para seleccionar el tipo de recurso. Esta opción se puede especificar más de una vez, en cuyo caso se eliminarán todos los tipos de recursos especificados. También acepta el valor especial all como un atajo para especificar los seis tipos de recursos. Si no se especifica esta opción, el valor predeterminado es la combinación de cache, runtime y fdstore, es decir, los tres tipos de recursos que generalmente se consideran redundantes y se pueden reconstruir en la siguiente invocación. Tenga en cuenta que la eliminación explícita del tipo de recurso fdstore solo es útil si la opción FileDescriptorStorePreserve= está habilitada, ya que el almacén de descriptores de archivos se limpia automáticamente cuando la unidad se detiene.


Añadido en la versión 243.

-f, --force

Cuando se usa con enable, sobrescribe cualquier enlace simbólico conflictivo existente.

Cuando se usa con edit, crea todas las unidades especificadas que aún no existen.

Cuando se usa con suspend, hibernate, hybrid-sleep o suspend-then-hibernate, el error devuelto por systemd-logind se ignorará y la operación se realizará directamente mediante el inicio de las unidades correspondientes.

Cuando se usa con halt, poweroff, reboot o kexec, ejecuta la operación seleccionada sin apagar todas las unidades. Sin embargo, todos los procesos se eliminarán por la fuerza y todos los sistemas de archivos se desmontarán o volverán a montar en modo de solo lectura. Esta es, por lo tanto, una opción drástica pero relativamente segura para solicitar un reinicio inmediato. Si se especifica --force dos veces para estas operaciones (con la excepción de kexec), se ejecutarán inmediatamente, sin terminar ningún proceso ni desmontar ningún sistema de archivos.

Advertencia Especificar --force dos veces con cualquiera de estas operaciones puede provocar la pérdida de datos. Tenga en cuenta que cuando se especifica --force dos veces, el comando se ejecuta mediante systemctl y no se contacta con el administrador del sistema. Esto significa que el comando debería tener éxito incluso cuando el administrador del sistema se ha bloqueado.

--message=

Cuando se usa con halt, poweroff o reboot, establece un mensaje corto que explica el motivo de la operación. El mensaje se registrará junto con el mensaje de apagado predeterminado.

Añadido en la versión 225.

--now

Cuando se usa con enable, disable, mask o reenable, también inicia/detiene/intenta reiniciar las unidades después de que las operaciones de archivo de unidad especificadas tengan éxito.

Añadido en la versión 220.

--root=

Cuando se usa con enable/disable/is-enabled (y comandos relacionados), usa la ruta raíz especificada al buscar archivos de unidad. Si esta opción está presente, systemctl operará directamente sobre el sistema de archivos, en lugar de comunicarse con el daemon systemd para realizar los cambios.

--image=image

Toma la ruta a un archivo de imagen de disco o un nodo de dispositivo de bloque. Si se especifica, todas las operaciones se aplican al sistema de archivos en la imagen de disco indicada. Esta opción es similar a --root=, pero opera en sistemas de archivos almacenados en imágenes de disco o dispositivos de bloque. La imagen de disco debe contener solo un sistema de archivos o un conjunto de sistemas de archivos dentro de una tabla de particiones GPT, siguiendo la especificación UAPI.2 Discoverable Partitions Specification[2]. Para obtener más información sobre las imágenes de disco admitidas, consulte systemd-nspawn(1)'s switch del mismo nombre.

--image-policy=policy

Toma una cadena de política de imagen como argumento, según systemd.image-policy(7). La política se aplica cuando se opera en la imagen de disco especificada a través de --image=, como se indica arriba. Si no se especifica, el valor predeterminado es la política "*", es decir, se utilizan todos los sistemas de archivos reconocidos en la imagen.

--runtime

Cuando se utiliza con enable, disable, edit (y comandos relacionados), realiza cambios temporalmente, de modo que se pierden en el próximo reinicio. Esto tendrá el efecto de que los cambios no se realicen en los subdirectorios de /etc/ sino en /run/, con efectos inmediatos idénticos; sin embargo, dado que este último se pierde en el reinicio, los cambios también se pierden.

De manera similar, cuando se utiliza con set-property, realiza cambios temporalmente, de modo que se pierden en el próximo reinicio.

--preset-mode=

Toma uno de los valores "full" (el valor predeterminado), "enable-only", "disable-only". Cuando se utiliza con los comandos preset o preset-all, controla si las unidades deben desactivarse y habilitarse según las reglas del conjunto preestablecido, o solo habilitarse, o solo desactivarse.

Agregado en la versión 215.

-n, --lines=

Cuando se utiliza con status, controla el número de líneas de registro que se mostrarán, contando desde las más recientes. Toma un argumento entero positivo, o 0 para deshabilitar la salida del registro. El valor predeterminado es .

-o, --output=

Cuando se utiliza con status, controla el formato de las entradas de registro que se muestran. Para conocer las opciones disponibles, consulte journalctl(1). El valor predeterminado es "short".

--firmware-setup

Cuando se utiliza con los comandos reboot, poweroff o halt, indica al firmware del sistema que se reinicie en la interfaz de configuración del firmware en el próximo arranque. Tenga en cuenta que esta funcionalidad no está disponible en todos los sistemas.

Agregado en la versión 220.

--boot-loader-menu=timeout

Cuando se utiliza con los comandos reboot, poweroff o halt, indica al cargador de arranque del sistema que muestre el menú del cargador de arranque en el siguiente arranque. Toma un valor de tiempo como parámetro, que indica el tiempo de espera del menú. Pase cero para deshabilitar el tiempo de espera del menú. Tenga en cuenta que no todos los cargadores de arranque admiten esta funcionalidad.

Agregado en la versión 242.

--boot-loader-entry=ID

Cuando se utiliza con los comandos reboot, poweroff o halt, indica al cargador de arranque del sistema que arranque en una entrada específica del cargador de arranque en el siguiente arranque. Toma un identificador de entrada del cargador de arranque como argumento, o "help" para enumerar las entradas disponibles. Tenga en cuenta que no todos los cargadores de arranque admiten esta funcionalidad.

Agregado en la versión 242.

--reboot-argument=

Este modificador se utiliza con reboot. El valor es específico de la arquitectura y el firmware. Por ejemplo, "recovery" podría usarse para activar la recuperación del sistema, y "fota" podría usarse para activar una actualización de "firmware over the air".

Agregado en la versión 246.

--plain

Cuando se utiliza con list-dependencies, list-units o list-machines, la salida se imprime como una lista en lugar de un árbol, y se omiten los círculos de viñeta.

Agregado en la versión 203.

--timestamp=

Cambia el formato de las marcas de tiempo impresas. Se pueden utilizar los siguientes valores:


pretty (este es el valor predeterminado)
"Día AAAA-MM-DD HH:MM:SS TZ"

Agregado en la versión 248.

unix
"@segundos-desde-la-época"

Agregado en la versión 251.

us, μs
"Día AAAA-MM-DD HH:MM:SS.UUUUUU TZ"

Agregado en la versión 248.

utc
"Día AAAA-MM-DD HH:MM:SS UTC"

Agregado en la versión 248.

us+utc, μs+utc
"Día AAAA-MM-DD HH:MM:SS.UUUUUU UTC"

Agregado en la versión 248.

Agregado en la versión 247.

--mkdir

Cuando se usa con bind, crea el archivo o directorio de destino antes de aplicar el montaje. Tenga en cuenta que, aunque el nombre de esta opción sugiere que solo es adecuada para directorios, esta opción también crea el nodo de archivo de destino para montar si el objeto que se va a montar no es un directorio, sino un archivo normal, un nodo de dispositivo, un socket o un FIFO.

Agregado en la versión 248.

--marked

Solo se permite con reload-or-restart. Encola trabajos de reinicio para todas las unidades que tengan la marca "needs-restart" y trabajos de recarga para las unidades que tengan la marca "needs-reload". Cuando una unidad marcada para recargar no admite la recarga, se encolará el reinicio. Estas propiedades se pueden establecer usando set-property Markers=....

A menos que se use --no-block, systemctl esperará a que finalicen los trabajos encolados.

Agregado en la versión 248.

--read-only

Cuando se usa con bind, crea un montaje bind de solo lectura.

Agregado en la versión 248.

--drop-in=NOMBRE

Cuando se usa con edit, use NOMBRE como nombre de archivo de inclusión en lugar de override.conf.

Agregado en la versión 253.

--when=

Cuando se usa con halt, poweroff, reboot o kexec, programe la acción para que se realice en la fecha y hora especificadas, que deben cumplir con la sintaxis documentada en systemd.time(7) sección "ANÁLISIS DE MARCAS DE TIEMPO". Específicamente, si se proporciona "show", se mostrará la acción programada actualmente, que se puede cancelar pasando una cadena vacía o "cancel". "auto" programará la acción según la ventana de mantenimiento o un minuto en el futuro.

Agregado en la versión 254.

--stdin

Cuando se usa con edit, el contenido del archivo se leerá desde la entrada estándar y no se iniciará el editor. En este modo, el contenido anterior del archivo se reemplaza por completo. Esto es útil para "editar" archivos de unidad desde scripts:

$ systemctl edit --drop-in=limits.conf --stdin some-service.service <<EOF
[Unit]
AllowedCPUs=7,11
EOF

Se pueden "editar" varios archivos de inclusión en este modo; el mismo contenido se escribirá en todos ellos.

Agregado en la versión 256.

-H, --host=

Ejecute la operación de forma remota. Especifique un nombre de host o un nombre de usuario y un nombre de host separados por "@", para conectarse. El nombre de host puede tener opcionalmente un sufijo con el puerto en el que SSH está escuchando, separado por ":", y luego un nombre de contenedor, separado por "/", lo que se conecta directamente a una instancia de máquina remota específica. Esto usará SSH para comunicarse con la instancia de la máquina. Los nombres de los contenedores se pueden enumerar con machinectl -H HOST. Coloque las direcciones IPv6 entre corchetes.

-M, --machine=

Ejecute la operación en un contenedor local. Especifique un nombre de contenedor para conectarse, opcionalmente precedido por un nombre de usuario para conectarse como y un carácter "@" separador. Si se usa la cadena especial ".host" en lugar del nombre del contenedor, se realiza una conexión al sistema local (lo cual es útil para conectarse a un bus de usuario específico: "--user [email protected]"). Si no se usa la sintaxis "@", la conexión se realiza como usuario raíz. Si se usa la sintaxis "@", ya sea la parte izquierda o la parte derecha pueden omitirse (pero no ambas), en cuyo caso el nombre de usuario local y ".host" se implican.


-C, --capsule=
Ejecuta la operación en una cápsula. Especifica el nombre de la cápsula a la que conectarse. Consulte [email protected](5)
para obtener más detalles sobre las cápsulas.

Añadido en la versión 256.

--no-ask-password
No solicite al usuario la autenticación para operaciones con privilegios.

--no-pager
No canalice la salida a un paginador.

--legend=BOOL
Habilite o deshabilite la impresión de la leyenda, es decir, las cabeceras de columna y el pie de página con indicaciones.
La leyenda se imprime por defecto, a menos que se deshabilite con --quiet o similar.

-h, --help
Imprima un texto de ayuda corto y salga.

--version
Imprima una cadena de versión corta y salga.

CÓDIGO DE SALIDA

En caso de éxito, se devuelve 0, en caso contrario, se devuelve un código de error distinto de cero.

systemctl utiliza los códigos de retorno definidos por LSB, según se define en LSB 3.0.0[3].

Tabla 5. Códigos de retorno LSB

┌───────┬────────────────────────────┬──────────────────────────┐
│ Valor │ Descripción en LSB         │ Uso en systemd           │
├───────┼────────────────────────────┼──────────────────────────┤
│ 0     │ "el programa se está       │ la unidad está activa     │
│       │ ejecutando o el servicio   │                          │
│       │ está bien"                 │                          │
├───────┼────────────────────────────┼──────────────────────────┤
│ 1     │ "el programa está muerto y │ la unidad no falló (utilizado por │
│       │ el archivo pid en /var/run  │ is-failed)               │
│       │ existe"                    │                          │
├───────┼────────────────────────────┼──────────────────────────┤
│ 2     │ "el programa está muerto y │ no se utiliza            │
│       │ el archivo de bloqueo en   │                          │
│       │ /var/lock existe"          │                          │
├───────┼────────────────────────────┼──────────────────────────┤
│ 3     │ "el programa no se está   │ la unidad no está activa  │
│       │ ejecutando"                │                          │
├───────┼────────────────────────────┼──────────────────────────┤
│ 4     │ "el estado del programa o  │ no existe tal unidad      │
│       │ servicio es desconocido"    │                          │
└───────┴────────────────────────────┴──────────────────────────┘

El mapeo de los estados del servicio LSB a los estados de las unidades systemd es imperfecto, por lo que es mejor no depender de esos valores de retorno, sino buscar estados y subestados de unidad específicos en su lugar.

ENTORNO

$SYSTEMD_EDITOR
Editor que se utilizará al editar unidades; anula $EDITOR y $VISUAL. Si ninguno de $SYSTEMD_EDITOR, $EDITOR o $VISUAL está presente o si se establece en una cadena vacía o si su ejecución falla, systemctl intentará ejecutar editores conocidos en este orden: editor(1), [nano]({filename}../../nano)(1), [vim]({filename}../../vim)(1), vi(1).

Añadido en la versión 218.

$SYSTEMD_LOG_LEVEL
El nivel de registro máximo de los mensajes emitidos (los mensajes con un nivel de registro más alto, es decir, menos importantes, se suprimirán). Acepta una lista separada por comas de valores. Un valor puede ser uno de (en orden de importancia decreciente) emerg, alert, crit, err, warning, notice, info, debug, o un entero en el rango 0...7. Consulte syslog(3) para obtener más información. Cada valor puede tener opcionalmente como prefijo uno de console, syslog, kmsg o journal seguido de dos puntos para establecer el nivel de registro máximo para ese destino de registro específico (por ejemplo, SYSTEMD_LOG_LEVEL=debug,console:info especifica que se registre en el nivel de depuración, excepto cuando se registre en la consola, que debe estar en el nivel de información). Tenga en cuenta que el nivel de registro máximo global tiene prioridad sobre cualquier nivel de registro máximo por destino.

$SYSTEMD_LOG_COLOR
Un booleano. Si es verdadero, los mensajes escritos en el tty tendrán colores según la prioridad.

Esta configuración solo es útil cuando los mensajes se escriben directamente en la terminal, porque [journalctl]({filename}../../journalctl)(1) y otras herramientas que muestran registros aplicarán colores a los mensajes según el nivel de registro por sí mismas.

$SYSTEMD_LOG_TIME
Un booleano. Si es verdadero, los mensajes de registro de la consola tendrán como prefijo una marca de tiempo.

Esta configuración solo es útil cuando los mensajes se escriben directamente en la terminal o en un archivo, porque [journalctl]({filename}../../journalctl)(1) y otras herramientas que muestran registros adjuntarán marcas de tiempo según los metadatos de la entrada.

$SYSTEMD_LOG_LOCATION
Un booleano. Si es verdadero, los mensajes tendrán como prefijo el nombre del archivo y el número de línea en el código fuente de donde se origina el mensaje.

Tenga en cuenta que la ubicación del registro a menudo se adjunta como metadatos a las entradas del diario. Incluirlo directamente en el texto del mensaje puede ser útil para la depuración de programas.

$SYSTEMD_LOG_TARGET
El destino para los mensajes de registro. Uno de console (registrar en el tty adjunto), console-prefixed (registrar en el tty adjunto, pero con prefijos que codifican el nivel de registro y la "instalación", consulte syslog(3), kmsg (registrar en el búfer de registro circular del kernel), journal (registrar en el diario), journal-or-kmsg (registrar en el diario si está disponible y en kmsg en caso contrario), auto (determinar el destino de registro apropiado automáticamente, el valor predeterminado), null (deshabilitar la salida de registro).

$SYSTEMD_PAGER, $PAGER
Paginador a utilizar cuando no se especifica --no-pager. Se utiliza $SYSTEMD_PAGER si está definido; de lo contrario, se utiliza $PAGER. Si ni $SYSTEMD_PAGER ni $PAGER están definidos, se prueba una serie de paginadores conocidos, incluidos [less]({filename}../../less)(1) y more(1), hasta que se encuentra uno. Si no se descubre ningún paginador, no se invoca ningún paginador. Establecer estas variables de entorno en una cadena vacía o en el valor "cat" es equivalente a pasar --no-pager.

Nota: si $SYSTEMD_PAGERSECURE no está definido, $SYSTEMD_PAGER y $PAGER solo se pueden utilizar para deshabilitar el paginador (con "cat" o ""), y de lo contrario se ignoran.

$SYSTEMD_LESS
Anula las opciones que se pasan a less (por defecto "FRSXMK").

Los usuarios pueden querer cambiar dos opciones en particular:

K
Esta opción indica al paginador que salga inmediatamente cuando se presiona Ctrl+C. Para permitir que less gestione Ctrl+C por sí mismo para volver al indicador de comandos del paginador, desactive esta opción.

Si el valor de $SYSTEMD_LESS no incluye "K", y el paginador que se invoca es less, Ctrl+C será ignorado por el ejecutable y deberá gestionarse por el paginador.

X
Esta opción indica al paginador que no envíe cadenas de inicialización y desinicialización de termcap al terminal. Está configurado por defecto para permitir que la salida del comando permanezca visible en el terminal incluso después de que el paginador salga. Sin embargo, esto impide que algunas funcionalidades del paginador funcionen, en particular, la salida paginada no se puede desplazar con el ratón.

Tenga en cuenta que establecer la variable de entorno normal $LESS no tiene ningún efecto para las invocaciones de less por las herramientas de systemd.

Consulte [less]({filename}../../less)(1) para obtener más información.

$SYSTEMD_LESSCHARSET
Anula el conjunto de caracteres que se pasa a less (por defecto "utf-8", si se determina que el terminal que lo invoca es compatible con UTF-8).

Tenga en cuenta que establecer la variable de entorno normal $LESSCHARSET no tiene ningún efecto para las invocaciones de less por las herramientas de systemd.

$SYSTEMD_PAGERSECURE
Los comandos de paginador comunes como [less]({filename}../../less)(1), además de la "paginación", es decir, el desplazamiento de la salida, admiten la apertura o escritura de otros archivos y la ejecución de comandos de shell arbitrarios. Cuando los comandos se invocan con privilegios elevados, por ejemplo, bajo [sudo]({filename}../../sudo)(8) o pkexec(1), el paginador se convierte en un límite de seguridad. Se debe tener cuidado de que solo se utilicen programas con una funcionalidad estrictamente limitada como paginadores, y no se permiten funciones interactivas no deseadas, como la apertura o creación de nuevos archivos o el inicio de subprocesos. El "modo seguro" para el paginador se puede habilitar según se describe a continuación, si el paginador lo admite (la mayoría de los paginadores no están escritos de tal manera que tengan esto en cuenta). Se recomienda habilitar explícitamente el "modo seguro" o deshabilitar por completo el paginador utilizando --no-pager o PAGER=cat cuando se permite que los usuarios no confiables ejecuten comandos con privilegios elevados.

Esta opción acepta un argumento booleano. Cuando se establece en verdadero, se habilita el "modo seguro" del paginador. En el "modo seguro", se establecerá LESSSECURE=1 al invocar el paginador, lo que indica al paginador que deshabilite los comandos que abren o crean archivos nuevos o inician nuevos subprocesos. Actualmente, solo less(1) se sabe que comprende esta variable e implementa el "modo seguro".

Cuando se establece en falso, no se impone ninguna limitación al paginador. Establecer SYSTEMD_PAGERSECURE=0 o no eliminarlo del entorno heredado puede permitir que el usuario invoque comandos arbitrarios.

Cuando $SYSTEMD_PAGERSECURE no está establecido, las herramientas systemd intentan determinar automáticamente si el "modo seguro" debe habilitarse y si el paginador lo admite. El "modo seguro" se habilita si el UID efectivo no es el mismo que el propietario de la sesión de inicio de sesión, consulte geteuid(2) y sd_pid_get_owner_uid(3), o cuando se ejecuta bajo sudo(8) u otras herramientas similares ($SUDO_UID está establecido [4]). En esos casos, se establecerá SYSTEMD_PAGERSECURE=1 y los paginadores que no se sabe que implementen el "modo seguro" no se utilizarán en absoluto. Tenga en cuenta que esta autodetección solo cubre los mecanismos más comunes para elevar los privilegios y está destinada a ser una conveniencia. Se recomienda establecer explícitamente $SYSTEMD_PAGERSECURE o deshabilitar el paginador.

Tenga en cuenta que si se deben honrar las variables $SYSTEMD_PAGER o $PAGER, aparte de deshabilitar el paginador, también se debe establecer $SYSTEMD_PAGERSECURE.

$SYSTEMD_COLORS

Acepta un argumento booleano. Cuando es verdadero, systemd y las utilidades relacionadas utilizarán colores en su salida; de lo contrario, la salida será monocromática. Además, la variable puede tomar uno de los siguientes valores especiales: "16", "256" para restringir el uso de colores a los 16 o 256 colores ANSI básicos, respectivamente. Esto se puede especificar para anular la decisión automática basada en $TERM y la conexión del terminal.

$SYSTEMD_URLIFY

El valor debe ser booleano. Controla si se deben generar enlaces clickeables en la salida para los emuladores de terminal que admiten esto. Esto se puede especificar para anular la decisión que systemd toma en función de $TERM y otras condiciones.

VER TAMBIÉN

systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5), systemd.resourcecontrol(5), systemd.special(7), wall(1), systemd.preset(5), systemd.generator(7), glob(7)

NOTAS

UAPI.1 Especificación del cargador de arranque
https://uapi-group.org/specifications/specs/boot_loader_specification

UAPI.2 Especificación de particiones detectables
https://uapi-group.org/specifications/specs/discoverable_partitions_specification

LSB 3.0.0
http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html

Se recomienda que otras herramientas establezcan y verifiquen $SUDO_UID según corresponda, tratándolo como una interfaz común.