Domina los servicios en Linux: ¡Inicia
Para usuarios avanzados de Linux, iniciar, detener y reiniciar servicios en Linux es esencial. Estas operaciones permiten a los usuarios acceder a la funcionalidad de cada servicio. Por ejemplo, para usar un servidor web, los usuarios necesitan iniciar el servicio Apache, o para usar una base de datos, los usuarios deben iniciar el servicio MySQL. La gestión de servicios en Linux también es importante para la estabilidad del sistema y puede ayudar a mejorar el rendimiento.
Entendiendo systemctl vs. service
Existen dos herramientas oficiales de gestión que proporcionan una forma consistente de iniciar, detener, reiniciar y gestionar servicios del sistema en Linux:
- systemctl
- service
Cuál usar dependerá de si su distribución utiliza systemd o init. La mayoría de las distribuciones modernas han hecho el cambio a systemd, por lo que systemctl es el administrador de servicios preferido. Pero algunos viejos hábitos son difíciles de abandonar, por lo que muchos administradores aún utilizan el antiguo comando service.
Afortunadamente, los desarrolladores de systemd se aseguraron de conservar el comando service y redirigirlo a systemctl. Para complicar aún más las cosas, es posible que encuentre algún servicio que haya instalado que no se haya actualizado a ninguna de las herramientas service o systemctl, y que deba iniciarlo manualmente con /etc/rc.d (o /etc/init.d).
Entonces, puede seguir siendo un poco confuso.
Pero estamos buscando las mejores prácticas aquí, y para iniciar, detener o reiniciar aplicaciones en Linux, las mejores prácticas comienzan y terminan con systemctl.
Escalar servicios de Docker Swarm: la guía definitivaIniciando un servicio en Linux
Supongamos que desea iniciar el servidor Apache.
Para hacer esto:
1. Abra una ventana de terminal.
2. Ejecute el comando sudo systemctl start httpd
.
En este comando:
sudo
le indica a Linux que está ejecutando el comando como usuario root.systemctl
administra los servicios de systemd.start
indica al comando systemctl que inicie el servicio Apache.httpd
es el nombre del servicio del servidor web Apache.
3. Una vez que ejecute el comando, verá el siguiente mensaje:
Cómo restablecer la contraseña de administrador en Portainer usando un contenedor DockerEl servicio httpd se ha iniciado correctamente.
Tenga en cuenta que si el servicio ya está en ejecución, verá el siguiente mensaje:
El servicio httpd ya se está ejecutando.
Deteniendo un servicio en Linux
Para detener el servicio Apache:
1. Abra una ventana de terminal.
2. Ejecute el comando sudo systemctl stop httpd
.
3. Debería ver el siguiente mensaje:
El servicio httpd se ha detenido con éxito.
Tenga en cuenta que si el servicio, en este caso Apache, no estaba en ejecución, verá el siguiente mensaje:
Failed to stop service httpd. Unit httpd.service no está cargado.
O puede obtener uno de los siguientes mensajes:
Failed to stop service httpd. Unit httpd.service no se está ejecutando.
Failed to stop service httpd. Unit httpd.service está en un estado fallido.
Failed to stop service httpd. Unit httpd.service está bloqueado.
Reiniciando un servicio en Linux
Para reiniciar el mismo servicio (Apache):
1. Abra una ventana de terminal.
2. Ejecute el comando sudo systemctl restart httpd
.
3. El servicio se reiniciará y volverás al prompt de bash.
Cómo detener y eliminar todos los contenedores Docker en un solo comando4. Verás el siguiente mensaje:
El servicio httpd se ha reiniciado correctamente.
Si el servicio no está en ejecución, verás la siguiente salida:
El servicio httpd no se está ejecutando.
También puedes usar el siguiente comando para verificar el estado del servicio antes de intentar reiniciarlo:
systemctl status httpd
Iniciando, deteniendo y reiniciando servicios con el uso del comando service
Para hacer las cosas interesantes, el comando service aún funciona, incluso para aquellas distribuciones que han migrado a systemd y systemctl. Esto significa que aquellos que instintivamente escriben service cuando necesitan reiniciar un servicio en Linux no recibirán un error de "Comando desconocido".
En el caso de service, el comando se redirigirá a systemctl. De hecho, cuando ejecutas el comando service en una distribución que admite systemctl, verás claramente la información de redireccionamiento (Figura A).
Figura A
El uso del comando service es un poco diferente al de systemctl. El nombre del servicio y las opciones de inicio, detención y reinicio están invertidas:
sudo service httpd start
sudo service httpd stop
sudo service httpd restart
En cada caso, verás que service se redirige a systemctl, pero el servicio que intentas iniciar, detener o reiniciar tendrá éxito.
No es tan complicado
He complicado el problema al mencionar los métodos antiguos de iniciar, detener y reiniciar servicios en Linux. A decir verdad, el proceso de controlar los servicios en Linux no es tan complejo; solo tienes que entender el comando correcto a utilizar.
Para obtener más información sobre lo que systemctl puede hacer por ti, asegúrate de ejecutar el comando man systemctl y leer la página del manual.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Domina los servicios en Linux: ¡Inicia , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados