Systemctl, trabaja con los servicios desde la terminal

octubre 13, 2019 , 0 Comments

about systemctl

En este artículo vamos a echar un vistazo a systemctl y cómo trabajar con los servicios desde la terminal de Ubuntu. Las siguientes líneas pueden resultar de ayuda a los usuario que acaban de llegar a Gnu/Linux en general y en este caso, a Ubuntu en particular.

En sistemas Gnu/Linux, incluido Ubuntu, la utilidad systemctl se puede usar para controlar y administrar servicios systemd. Systemd está formado por un conjunto de demonios, bibliotecas y herramientas que permiten la administración y configuración del sistema e interactuar con el nucleo del sistema Gnu/Linux.

Sintaxis de systemctl

La sintaxis es la regla y el formato de cómo se puede usar el comando systemctl. Estas opciones de sintaxis se pueden reordenar, pero se debe seguir un formato.

La siguiente línea muestra un ejemplo de sintaxis básica para utilizar el comando systemctl:

systemctl [OPCIONES] {COMANDO} 

Las opciones son indicadores que determinan cómo se ejecutan o controlan los comandos o modifican el comportamiento estos. El siguiente es un listado con algunas opciones que se pueden utilizar con el comando systemctl:

opciones de systemctl

  • – -state=STATE → Con esta opción vamos a poder enumerar unidades de un tipo particular de estado de servicio: Activo o Inactivo.
  • -a, – -all → Utilizaremos -a o – -all para mostrar todas las propiedades / todas las unidades actualmente en memoria. Para enumerar todas las unidades instaladas en el sistema, tendremos que utilizar el comando ‘list-unit-files‘ en su lugar.
  • -r, – -recursive → Vamos a poder utilizar -r o – -recursive para mostrar la lista de unidades de host y contenedores locales.
  • -H – -host = [USUARIO @] HOST → Nos va a permitir operar en un host remoto.
  • is-system-running → Verificaremos si el sistema está funcionando completamente.
  • hibernate → Hibernación del sistema.
  • – -help → Nos va a mostrar las opciones disponibles mediante el mensaje de ayuda.

Ejemplos de systemctl

A continuación vamos a ver algunos ejemplos básicos de cómo ejecutar y usar systemctl en Ubuntu 18.04, que es el sistema que voy a utilizar para este ejemplo. Simplemente tendremos que ejecutar el comando systemctl para hacerlo trabajar.

Iniciar y detener servicios

Para iniciar servicios utilizando el comando systemctl, solo habrá que ejecutar algo como el siguiente comando:

inicio de servicio

sudo systemctl start application.service

También podemos hacer referencia al nombre de la aplicación sin el .service final. Para detener el servicio, el comando a utilizar será algo como:

parar servicio con systemctl

sudo systemctl stop application.service

Reiniciar y recargar servicios

Si buscas reiniciar el servicio, debes escribir en la terminal algo como:

reiniciar servicio

sudo systemctl restart application.service

Para recargar el servicio, el comando a utilizar será:

recarga servicio

sudo systemctl reload application.service

Al recargar un servicio solo se vuelven a cargar los cambios de configuración en un servicio en ejecución y no se reiniciará por completo el servicio. Para reiniciar completamente un servicio en ejecución, lo ideal es utilizar la opción restart.

Habilitar y deshabilitar servicios

habilitar y deshabilitar servicios

Si queremos deshabilitar o habilitar un servicio, no habrá más que utilizar los siguientes comandos. Habilitar un servicio nos permitirá que se inicie automáticamente cada vez que se inicie el servidor. Para habilitar un servicio el comando que debemos utilizar debe ser algo como:

sudo systemctl enable application.service

Si deshabilitamos un servicio, el servicio no se ejecutará a menos que lo volvamos a habilitar. Para deshabilitar un servicio el comando debe ser:

sudo systemctl disable application.service

Verificar el estado del servicio

Para verificar el estado de un servicio, habrá que utilizar la opción status de la siguiente forma:

status systemctl

sudo systemctl status application.service

Listar todos los servicios

Para enumerar todos los servicios que se están ejecutando o están inactivos, podemos ejecutar:

listar servicios

systemctl list-units --all --type=service --no-pager

El anterior comando debería listar todos los servicios y la pantalla de salida que mostrará, será similar a la anterior captura de pantalla. Si nos interesa ver solo todos los servicios activos, debemos utilizar el siguiente comando:

servicios activos

systemctl list-units --all --state=active

Para listar todos los servicios inactivos, el comando a ejecutar será:

servicios inactivos

systemctl list-units --all --state=inactive

Más información

Para más información acerca del uso de systemctl, no tendremos más que utilizar la ayuda con la opción –help o consultar las páginas man:

man systemctl

man systemctl

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.