Al usar cualquier distribución de Linux, algunos procesos y servicios se ejecutan al mismo tiempo. Algunos pueden ejecutarse en segundo plano incluso sin el conocimiento de los usuarios. Tener servicios innecesarios en ejecución puede consumir gran parte de los recursos del sistema o también plantear un problema de seguridad si no se toman en cuenta las medidas.
Por lo tanto, surge la necesidad de conocer todos los servicios en ejecución en su sistema. En este artículo, analizamos todas las formas posibles que puede usar para enumerar los servicios en ejecución en su máquina Linux.
Cómo comprobar los servicios en ejecución en Linux
Primero comprendamos bien los servicios de Linux. Si un servicio tiene una inicialización: secuencia de comandos , entonces viene con tres estados:
- empezar
- detener
- reiniciar
Todos los cuales se ejecutan con el – servicio dominio. Por ejemplo, para reiniciar el administrador de red servicio, ejecute el siguiente comando:
sudo service network-manager restart
El comando de servicio hace referencia a cada servicio mediante el script de inicio almacenado en /etc/init.d para Ubuntu y cualquier otra distribución basada en Debian, y etc/rc.d/init.d para distribuciones de Linux basadas en RedHat. Algunos nombres de servicios varían de una distribución a otra. Por ejemplo, el servicio del servidor web Apache es httpd en CentOS y Apache2 en Ubuntu.
Sistema V(SysV) | advenedizo | Sistema
Muchas distribuciones de Linux pertenecen a los siguientes sistemas de inicio:
- Sistema V, que fue el sistema de inicio inicial.
- Advenedizo
- systemd, que es el último sistema de inicio al momento de escribir este artículo.
Sistema V (SysV)
System V o comúnmente conocido como SysV es un antiguo sistema de inicio utilizado por distribuciones de Linux más antiguas y se remonta al Unix original. SysV administra el proceso de inicio utilizando el script de shell presente en /etc/init*. En caso de que esté utilizando /etc/init.d/sshd empezar a iniciar o detener un servicio; entonces lo está usando en un sistema System V.
Sistema de inicio advenedizo
Es un sistema de inicio basado en eventos que sirvió como reemplazo del demonio /sbin/init. Upstart init system se utilizó para administrar el inicio y la detención de los servicios durante el arranque, el apagado y la supervisión mientras el sistema está en funcionamiento. Upstart se desarrolló inicialmente para la distribución Ubuntu Linux para reemplazar el antiguo System V utilizado en otras distribuciones más antiguas.
Sistema
Es el nuevo sistema de inicio al que se están mudando la mayoría de las distribuciones de Linux. Fue desarrollado para acelerar el proceso de arranque, administrar dependencias y mucho más. En caso de que esté utilizando systemctl restart sshd start para iniciar o detener un servicio, entonces lo está utilizando en un sistema Systemd.
Verifique todos los servicios en ejecución en un sistema de inicio System V (SysV)
Veamos algunos de los comandos de Terminal que puede usar para enumerar todos los servicios en ejecución en un sistema de inicio SysV.
service --status-all
El comando anterior enumera todos los servicios en ejecución en su sistema. En caso de que los servicios en ejecución sean muchos, puede usar parámetros adicionales – más y menos para listar los servicios en una vista organizada y clara.
service --status-all | less
service --status-all | more
Para enumerar solo los servicios que se ejecutan actualmente en el sistema, ejecute el siguiente comando:
service --status-all | grep running
Para ver el estado de un servicio en particular, ejecute el siguiente comando:
service --status-all | grep [service_name] e.g service --status-all | grep httpd
Alternativamente, puede ejecutar el siguiente comando para ver el estado de un servicio en particular.
service httpd status
Para enumerar todos los servicios habilitados en el arranque, ejecute el siguiente comando:
chkconfig --list
Verifique todos los servicios en ejecución en un sistema de inicio Upstart
Para enumerar todos los servicios que se ejecutan en un sistema Linux que ejecuta el sistema Upstartinit, ejecute el siguiente comando:
initctl list
Verifique todos los servicios en ejecución en un sistema de inicio Systemd
Para enumerar todos los servicios en ejecución en un sistema Linux que ejecuta el sistema de inicio Systemd, ejecute el siguiente comando:
systemctl
Del comando anterior, vemos que los datos se muestran en cinco columnas, a saber, UNIDAD, CARGA, ACTIVO, SUB y DESCRIPCIÓN. Veamos qué significa cada columna:
- UNIT:muestra el nombre de la unidad Systemd correspondiente.
- LOAD:esta columna muestra si la unidad actual está cargada en la memoria o no.
- ACTIVO:esta columna indica si la unidad está en uso (activa) o no.
- SUB:describe el estado de funcionamiento de una unidad en particular.
- DESCRIPCIÓN:brinda una descripción detallada de una unidad en particular.
También puede enumerar los servicios en ejecución según su tipo usando el siguiente comando:
systemctl list-units --type service
También puede enumerar los servicios en función de su estado actual. Es relativamente similar a la salida del comando anterior pero un poco más sencillo.
systemctl list-unit-files --type service
Para listar el estado de un servicio en particular, ejecute el siguiente comando:
systemctl status [service_name] e.g systemctl status acpid.path
Para enumerar solo los servicios que se ejecutan actualmente en el sistema, ejecute el siguiente comando:
systemctl | grep running
Para enumerar todos los servicios habilitados en el arranque, ejecute el siguiente comando:
systemctl list-unit-files | grep enabled
También puede ver los principales grupos de control y su uso de recursos del sistema, como E/S, CPU, tareas y memoria mediante el comando systemd-cgtop.
systemd-cgtop
También podemos usar pstree para enumerar todos los servicios en ejecución en el sistema. Pstree captura esta información de Systemd salida del sistema.
pstree
El pstree también se puede utilizar con el sistema System V int. Captura la salida del sistema SysVinit.
pstree
También puede utilizar chkservice utilidad para verificar todos los servicios en ejecución en un sistema Systemd. No viene preinstalado. Sin embargo, puede instalar a través de la Terminal usando el siguiente comando:
sudo apt-get install chkservice
Para iniciar chkservice, ejecute el siguiente comando. Tenga en cuenta que necesita privilegios de superusuario.
sudo chkservice
Para ver todas las características que vienen con esta fantástica herramienta, presione el botón [? ] llave. Abre el menú de ayuda.
Conclusión
Estos son algunos de los comandos y utilidades que puede usar para verificar todos los servicios en ejecución en su sistema Linux. Si tiene un comando o herramienta que no hemos discutido en esta publicación, no dude en hacérselo saber a nuestros lectores en la sección de comentarios.