Esta página explica cómo administrar los procesos en ejecución en su sistema utilizando Webmin.
Introducción a los procesos
Cada programa, proceso o comando que se ejecuta en un sistema Linux es un proceso. En cualquier momento, hay docenas de procesos ejecutándose en su sistema, algunos para programas con los que está interactuando gráficamente, algunos para comandos que ha iniciado en un indicador de shell, algunos para servidores que se ejecutan en segundo plano y algunos que realizan tareas del sistema. Cada vez que escribe un comando como ls o vi en el indicador de la shell, se crea un nuevo proceso, solo para salir tan pronto como se realiza su trabajo.
Cada proceso se identifica mediante un ID único, conocido como PID o ID de proceso. Cada uno es propiedad de un solo usuario y es miembro de varios grupos, que determinan los privilegios que tiene el proceso. Y cada uno tiene una prioridad (también conocida como nivel agradable), que controla cuánto tiempo de CPU puede utilizar el proceso en un sistema ocupado. Casi todos los procesos tienen un padre, que es el proceso que lo inició y del que hereda la propiedad, la prioridad y otras configuraciones.
Un proceso se ejecutará hasta que elija salir, o hasta que sea eliminado por una señal de otro proceso.
El módulo Procesos en ejecución
Este módulo se puede utilizar para ver, eliminar, volver a priorizar y ejecutar procesos en su sistema. Cuando ingrese por primera vez desde la categoría Sistema, la página principal mostrará un árbol de procesos como se muestra a continuación.
El módulo tiene varias formas diferentes de ver todos los procesos en su sistema, seleccionables por los enlaces de Mostrar en la parte superior de la página principal. Son:
PID En este modo de visualización, cada proceso se muestra con sangría debajo de su padre, formando un árbol de todos los procesos que se ejecutan en su sistema. En la parte superior del árbol está el comando init, que es iniciado por el kernel en el momento del arranque y por lo tanto no tiene padre. Usuario Este modo agrupa los procesos por su propietario. Puede ser útil en sistemas con muchos usuarios para ver de un vistazo lo que está ejecutando cada usuario. Memoria En este modo, los procesos se ordenan por la cantidad de memoria que están usando, y los que usan más memoria se muestran en la parte superior de la página. El uso de la memoria de un proceso no siempre es indicativo de la cantidad de memoria que realmente está usando, porque los procesos a menudo comparten memoria entre sí. Además, la cantidad total y libre de memoria real y virtual de su sistema se muestra encima de la lista de procesos. CPU Este modo de visualización ordena los procesos por su uso actual de CPU, con el usuario más pesado que aparece primero. A veces, el comando de Webmin que genera la página aparecerá cerca de la parte superior de la lista, pero se puede ignorar con seguridad. Los promedios de carga del sistema se mostrarán en la parte superior de la página, para dar una idea de qué tan ocupado ha estado el sistema durante los últimos 1,5 y 10 minutos. Un promedio de 0 significa que no hay actividad en absoluto, 1 significa que la CPU está completamente utilizada y cualquier valor por encima de 1 significa que hay más procesos que desean ejecutarse de los que el sistema tiene tiempo de CPU.
Las opciones Buscar y Ejecutar son para buscar procesos y ejecutar otros nuevos, respectivamente. Consulte las secciones siguientes para obtener más detalles.
Ver, matar o volver a priorizar un proceso
Puede ver los detalles completos de cualquier proceso en ejecución haciendo clic en la entrada de la columna ID de proceso en cualquiera de las pantallas de la página principal . Esto lo llevará a la página de información del proceso, que se muestra en esta captura de pantalla.
La página muestra toda la información disponible sobre el proceso, incluyendo su línea de comando completa, comando principal y cualquier subproceso. Puede ir a la página de información del padre haciendo clic en su comando, oa la página de cualquiera de los subprocesos haciendo clic en su ID de proceso. Puede ver una lista de los archivos que el proceso tiene abiertos y las conexiones de red que está usando actualmente haciendo clic en el botón Archivos y conexiones.
El proceso puede detenerse usando una señal TERM haciendo clic en el botón Terminar Process. Debido a que algunos comandos pueden ignorar esto, el botón Kill Process se puede usar para enviar una señal KILL si falla la terminación. A menos que el proceso se cuelgue dentro de una llamada al sistema del kernel, se garantiza que se ejecutará correctamente.
Se pueden enviar otras señales seleccionando el tipo de señal junto al botón Enviar señal antes de presionarlo. Algunas de las señales más útiles son:
HUP Para muchos procesos del servidor, esta señal hará que vuelvan a leer sus archivos de configuración. STOP Suspende el proceso hasta que se recibe una señal CONT. CONT Reanuda un proceso que ha sido suspendido por una señal de STOP.
La página de información también se puede utilizar para cambiar el nivel agradable de un proceso en ejecución, otorgándole una prioridad mayor o menor.Para cambiar la prioridad de un proceso, seleccione un nuevo nivel de la lista * Nivel agradable * y luego haga clic en el botón Cambiar. Los niveles más bajos significan prioridades más altas, por lo que un proceso con un buen nivel de 10 obtendrá más tiempo de CPU que uno con nivel 5.
En un sistema con múltiples usuarios, los procesos de larga ejecución que requieren una gran cantidad de El tiempo de CPU debe tener un nivel agradable más alto para que no ralentice los procesos que interactúan con los usuarios. Alternativamente, puede acelerar un proceso a expensas de otros dándole un nivel agradable más bajo. Debe tener cuidado al establecer un nivel extremadamente bajo (como 20), ya que todos los demás procesos pueden quedarse sin tiempo de CPU y hacer que el sistema no responda.
Buscando procesos
Si tiene una gran cantidad de procesos en ejecución en su sistema y desea encontrar uno o más para matarlos o verlos, la función de búsqueda del módulo de Procesos en ejecución hace es fácil. Para encontrar procesos, siga estos pasos:
- En la página principal del módulo, haga clic en el enlace del modo de visualización de búsqueda. Esto lo llevará a un formulario de búsqueda como se muestra en la captura de pantalla a continuación.
- El formulario muestra varios criterios diferentes para encontrar procesos, de los cuales puede elegir uno seleccionando el botón de opción junto a él. Los criterios son: Propiedad de Procesos propiedad del usuario cuyo nombre ingrese a continuación a esta opción se encontrará. # * Coincidencia de procesos de Finds cuyo comando o argumentos contienen el texto que ingresa al lado de esta opción. Usar más de Finds procesos que usan más del porcentaje especificado de tiempo de CPU. Usando sistemas de archivos Procesos cuyo directorio actual está en se encontrará el sistema de archivos elegido o están accediendo a cualquier archivo en él. Útil si no puede No desmonte un sistema de archivos porque está ocupado. Usando archivo Encuentra procesos que tienen el archivo ingresado abierto para lectura o escritura. Si ingresa a un directorio, se encontrará cualquier proceso que lo tenga como su directorio actual. Usando el puerto Busca procesos que están enviando, recibiendo o escuchando tráfico de red en el puerto ingresado usando el protocolo elegido. Útil si conoce el número de puerto en el que está escuchando un servidor y desea encontrar el proceso del servidor. Usando dirección Busca procesos que tienen una conexión de red abierta a la dirección ingresada, o que están escuchando en esa dirección si es para una interfaz en su sistema.
- Para filtrar los procesos de búsqueda de Webmin de los resultados, seleccione la opción Ignorar procesos de búsqueda en el resultado. Esto puede ser útil cuando se busca por uso de CPU, ya que los procesos de Webmin consumen mucho tiempo de CPU.
- Una vez que haya seleccionado los criterios de búsqueda, haga clic en el botón Buscar. Cualquier proceso de coincidencia se mostrará debajo del formulario.
- Si desea ver información adicional sobre un proceso, cambiar su prioridad o enviarle solo una señal, haga clic en su ID de proceso en los resultados.
- Para eliminar todos los procesos coincidentes, haga clic en el botón Terminar Processes o Kill Processes. También puede enviar cualquier señal a todos los procesos seleccionándola de la lista junto al botón * Enviar señal *. Aparecerá una página con la lista de cada ID de proceso y si se señaló o se eliminó correctamente.
Ejecutando un proceso
El módulo también se puede utilizar para ejecutar comandos simples, ya sea en primer plano para que se muestre su salida, o en segundo plano como demonios. Esto puede ser útil si solo desea ejecutar un comando sin tener que iniciar sesión a través de telnet o SSH (o si un firewall impide un inicio de sesión telnet o SSH). Los pasos a seguir son:
- En la página principal del módulo, haga clic en el enlace Ejecutar junto a las opciones del modo de visualización. Esto lo llevará al formulario para iniciar un nuevo proceso.
- Ingrese el comando que desea ejecutar en el campo * Comando para ejecutar *. Operadores de shell y caracteres especiales como;, & lt, > y & & se puede utilizar.
- Si el comando es algo que tardará mucho en ejecutarse, puede configurar la opción Modo de ejecución en Ejecutar en segundo plano para que Webmin lo ponga automáticamente en segundo plano. Sin embargo, si desea ver el resultado del comando, deje la opción configurada en Esperar hasta que se complete.
- Ingrese cualquier entrada que desee alimentar al comando en el campo * Entrada al comando *.
- Haga clic en el botón Ejecutar para ejecutarlo. Si se seleccionó la opción Esperar hasta completar, se mostrará cualquier resultado del comando.
Ejecutar comando
Opciones de control de acceso al módulo
De forma predeterminada, cualquier usuario de Webmin con acceso a este módulo puede administrar todos los procesos en ejecución. en el sistema, como si hubiera iniciado sesión como root. Sin embargo, al usar el módulo Usuarios y grupos, puede limitar el acceso de un usuario para que solo pueda matar o reiniciar procesos propiedad de un usuario Unix en particular.También es posible restringir a un usuario al modo de solo lectura, permitiéndole ver solo los procesos al no cambiarlos de ninguna manera o iniciar otros nuevos.
Primero debe leer el capítulo 52 para obtener más información sobre el control de acceso al módulo y cómo otorgar acceso a un usuario al módulo Procesos en ejecución. Una vez hecho esto, para editar el acceso de un usuario de Webmin a este módulo, los pasos a seguir son:
- En el módulo Usuarios de Webmin, haga clic en Procesos en ejecución junto al nombre del usuario. o grupo que desea restringir.
- Cambie el campo ¿Puede editar la configuración del módulo? a No.
- Para darle al usuario de Webmin acceso solo a aquellos procesos que pertenecen a un usuario Unix en particular, ingrese el nombre de usuario en el campo * Administrar procesos como usuario *. Si los usuarios de Unix y Webmin tienen el mismo nombre, puede seleccionar Usuario actual de Webmin. Esto puede ser útil al configurar el control de acceso al módulo para un grupo en el que desea miembro para poder administrar solo sus propios procesos.
- Para poner al usuario en modo de solo lectura, configure los campos * ¿Puede matar y renice procesos? * y ¿Puede ejecutar comandos? * en * No. Si Una vez hecho esto, no importa realmente el nombre de usuario que ingrese en el paso 7 porque no se puede realizar la administración de procesos.
- Haga clic en el botón Guardar para activar sus cambios.
Para restringir los procesos que un usuario de Webmin puede administrar, el código del módulo simplemente cambia para ejecutarse como el usuario de Unix especificado en el paso 4. Debido a que un usuario de Unix no puede matar o volver a priorizar ningún proceso que no es de su propiedad, cambiar de usuario de esta manera hace que el sistema operativo aplique automáticamente el control de acceso al proceso para Webmin.
Otros sistemas operativos
Porque existen procesos en todas las versiones de Unix con casi atributos idénticos, este módulo parece casi exactamente igual en todos los sistemas operativos compatibles.
Al ver información detallada sobre un proceso, es posible que haya información diferente disponible en otros sistemas operativos. El rango de niveles agradables también puede ser diferente, pero los niveles más bajos aún significan una prioridad más alta y viceversa.
Al buscar un proceso, los criterios Uso del sistema de archivos, Uso del archivo o Uso del puerto pueden no estar disponibles. Estas opciones dependen de los comandos fuser y lsof que no están disponibles o instalados de forma predeterminada en todos los sistemas.