Linux.Procesos y Administración de Servicios.

Ismael Royano Gómez
Enredando con Linux.
3 min readMay 6, 2016

Cuando ejecutamos una aplicación, se ejecuta uno o varios procesos para que funcione correctamente, éstos son los que consume recursos de nuestra máquina, como puede ser el uso de la CPU, la memoria, la memoria virtual (swap)…etc.

En Linux hay herramientas que nos permiten ver los procesos que están corriendo y los recursos consumidos. Vamos a ver algunas herramientas para ver esta información:

ps -aux | less

Muestra todos los procesos del sistema usando “less” porque la lista es un poco larga y queremos verla tranquilamente.

  • -a. Muestra los procesos de todos los usuarios.
  • -u. Muestra los propietarios de cada proceso.
  • -x. Muestra otros procesos que no están ejecutándose bajo consola.

Veamos la información que sale en la imagen y vamos a intentar desmantelar un poco para explicarla punto por punto:

  • User. Es el propietario del proceso.
  • PID. Es un número de identificación que se le da el sistema a cada proceso.
  • %CPU. Porcentaje de uso de la CPU.
  • %MEM. Porcentaje de uso de la Memoria Ram.
  • VSZ. El tamaño virtual del proceso en kbytes.
  • RSS. El tamaño que ocupa en la memoria en kbytes.
  • TTY. Procedimiento asociado a un dispositivo de entrada, como por ejemplo un terminal/consola.
  • STAT. Los estados en los que se encuentra el proceso.
  • R. Preparado para la ejecución.
  • S. Durmiendo.
  • D. Letardo o reposo ininterrumpible.
  • T. Parado o trazado.
  • Z. Proceso zombie. Esto es cuando un proceso ha terminado pero sigue en la lista como información de su finalización.
  • START. Es la hora que comenzó la ejecución.
  • TIME. El tiempo que lleva ejecutándose.
  • COMMAND. Nombre del comando que se está ejecutando.

Otro comando muy útil puede ser “top”. Muestra la información de los procesos que más consumen, actualizando la lista cada 5 segundos. La “q” se usa para salir.

El Asesino de Programas.

Puede ocurrir que haya veces que un programa no responda como debe y se bloquee (que raro es eso) y no nos haga ni caso. Pues para esto existen herramientas que “matan” un proceso cuando este no responde.

El comando encargado de “matar” programas es “kill”. Su forma de uso es la siguiente; kill <nº de PID>. Veamos un ejemplo:

Vamos a ejecutar el navegador midori y lo buscamos con el comando ps:

ps -aux
  • Nos fijamos en la columna “COMMAND” para buscar el midori y cuando los encontremos, nos quedamos con su PID”.
  • Si nos fijamos en la imagen, marco la línea donde aparece el amarok. Ahora para “matar” el proceso ejecutamos lo siguiente;
kill 2953 #Se cerrará inmediatamente el programa.

Hay veces que un programa puede abrir varios procesos con el mismo nombre y PID, pero claro es un poco coñazo ir “matando” proceso por proceso. Existe una herramienta que lo hace en masa; “killall <nombre del proceso>”, en el caso de midori sería “killall midori”.

Administración de Servicios.

Un servicio es un programa que se ejecuta al inicio del sistema operativo, algo así como hace Windows con los antivirus, cortafuegos, controladores y demás programas esenciales que necesita el sistema para poder funcionar.

En Linux usamos una herramienta muy potente llamada SystemD. Esta utilidad supervisa el arranque y la gestión de los servicios. Vamos a ver como funciona:

systemctl ó systemctl list-units #Este comando nos muestra los servicios cargados en el sistema mostrando información de cada servicio. Usar q para salir.systemctl list-unit-files. Muestra los servicios instalados en el sistema, es decir, listará los cargados y los que no. Este comando nos vendrá muy bien pasa saber como se llama el servicio que queremos ejecutar al inicio. Usar q para salir.systemctl start <servicio> #Ejecuta en ese momento el servicio en cuestión. Si reiniciáramos el equipo no se ejecutaría ya que es una ejecución temporal.systemctl stop <servicio> #Para temporalmente un servicio ya ejecutado.systemctl enable <servicio> #Prepara el servicio para la ejecución desde el arranque.systemctl disable <servicio> #Elimina del inicio un servicio para que no vuelva a ejecutarse al arrancar el sistema.systemctl status <servicio> #Muestra la información y el estado de un servicio.systemctl restart <servicio> #Reinicia un servicio que se está ejecutando.

Administración de Energía.

systemctl reboot #Reiniciar el sistema.
systemctl poweroff #Cerrar y apagar el sistema.
systemctl halt #Cerrar y detener el sistema.
systemctl suspend #Suspender el sistema.
systemctl hibernate #Hibernar el sistema.
man systemd #Ayuda.

Continúa por FFmpeg.

--

--

Ismael Royano Gómez
Enredando con Linux.

Técnico Informático curioso, lector activo de las nuevas tecnologías, amante de las series de televisión y usuario del respetable mundo del enredo.