Herramientas de usuario

Herramientas del sitio


linux:administracionprocesos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
linux:administracionprocesos [2018/12/21 11:57] albertolinux:administracionprocesos [2018/12/23 17:36] (actual) – ↷ Página movida de linux:gestionsistema:administracionprocesos a linux:administracionprocesos alberto
Línea 14: Línea 14:
 ===== Visualización de procesos ===== ===== Visualización de procesos =====
 ==== ps ==== ==== ps ====
 +Permite ver la lista de procesos del sistema. Extrae toda la información del pseudosistema de archivos **/proc** en el que el núcleo de Linux coloca toda la información respecto al estado del sistema en curso de ejecución.\\
 +Tiene muchas opciones, que conviene consultarlas con la opción --help((La versión en español del manual puede estar obsoleta en algunos casos. Pueden verse las páginas del manual en el lenguaje internacional ANSI C (aunque se haya instalado la distribución en español) modificando la variable de entorno $LANG, escribiendo **LANG=C** en el //shell//.)), aunque de forma predeterminada muestra únicamente los procesos iniciados por el usuario desde el terminal.\\
  
 +Opciones comunes: 
 +  * **ps aux**: Muestra los procesos de todos los usuarios(**a**), y los que no están vinculados a un terminal (**x**), especificando el nombre de usuario y la fecha de inicio (**u**). 
 +  * **ps -ef**: Muestra todos los procesos(**-e**) y mucha información (**-f**). 
 +    * **%CPU** Porcentaje de tiempo que se ha usado el procesador desde la ejecución del comando. 
 +    * **%MEM** Porcentaje de uso de la memoria disponible. 
 +    * **COMMAND** o **CMD** Nombre del comando que originó el proceso. 
 +    * **GID** o **GROUP** Identificación del grupo bajo el que se ejecuta el proceso. 
 +    * **NI** Nivel de prioridad del proceso. 
 +    * **PID** Identificación del proceso. 
 +    * **PPID** Identificación del proceso padre. 
 +    * **RSS** Cantidad de memoria RAM utilizada en KB. 
 +    * **START** o **STIME** Fecha de lanzamiento del proceso. 
 +    * **STAT** Estado del proceso. Definido por tres caracteres: 
 +      * El primer carácter puede tomar alguno de estos valores: 
 +        * **R** Proceso ejecutándose (//Running//). 
 +        * **T** Proceso parado (//sTopped//). 
 +        * **S** Proceso dormido (//Sleeping//), esto es, en espera del procesador. 
 +        * **D** Proceso dormido en espera de un recurso (//Device//, normalmente de entrada/salida). No pueden interrumpirse. 
 +        * **Z** Proceso terminado. Se quedará en este estado hasta que el proceso padre se de cuenta y recupere su código de retorno (//Zombie//). No pueden interrumpirse. 
 +    * **TIME** Tiempo total de uso de la CPU para este proceso. 
 +    * **TT** o **TTY** Terminal al que está vinculado el proceso. Si no está asociado a ninguno (como un demonio) aparece el carácter **?**. 
 +    * **UID** o **USER**: Identificación del usuario bajo el que se ejecuta el proceso. 
 ==== top ==== ==== top ====
 +Permite visualizar la actividad del procesador en tiempo real.\\
 +Tiene las mismas etiquetas que la instrucción **ps**, siendo posible modificar las columnas de información presentes y la ordenación de los procesos.\\
 +Con la tecla **[?]** visualizamos la ayuda del comando, y con la tecla **[q]** salimos de top. Para modificar los campos usamos la tecla **[f]**. También se puede enviar señales a los procesos con la tecla **[k]**.\\
 +
 +Podemos usar el archivo de configuración **/etc/toprc** para establecer una configuración global para todos los usuarios y otro en **~/.toprc** (directorio personal del usuario), para establecer una configuración personalizada.
 +
 +==== pstree ====
 +Muestra los nombres de los procesos de forma jerárquica, lo que nos permite ver rápidamente la filiación de los mismos.\\
 +Con la opción **-p** se muestra el PID de cada uno de ellos.\\
 +Este comando muestra una línea cuando existen varias instancias del mismo proceso, y el número que aparece delante de ***** indica el número de instancias correspondientes.
  
 ==== Monitor del sistema ==== ==== Monitor del sistema ====
Línea 26: Línea 59:
   * **Sistemas de archivos**: Información acerca del % de uso del espacio de las particiones en uso por el sistema.   * **Sistemas de archivos**: Información acerca del % de uso del espacio de las particiones en uso por el sistema.
  
-===== Señales =====+===== Señales: kill y killall ===== 
 +Los comandos **kill** y **killall** permiten enviar señales a los procesos. \\ 
 +El comando **kill** espera un número de proceso como argumento, mientras que **killall** espera un comando. **killall** debe usarse con precaución, ya que envía la señal a todos los procesos con el nombre pasado como argumento.\\ 
 + 
 +En ambos procesos es posible especificar la señal a enviar, aunque de forma predeterminada envían la señal 15 (SIGTERM, termina el proceso). Para obtener la lista completa de señales, se ejecuta **kill -l**. Para obtener información acerca de las señales, puede consultarse el manual, de la forma **man 7 signal**, así como leer el archivo **/uar/include/asm/signal.h**.
  
  
 ===== Trabajo con procesos ===== ===== Trabajo con procesos =====
 +==== Iniciar un proceso. ====
 +Para iniciar un proceso, basta con introducir en el terminal el comando correspondiente. Esto hará que el proceso se ejecute en primer plano.\\
 +Si deseamos que el proceso se ejecute en segundo plano, y de esa forma no dejar sin uso el terminal, mientras éste se ejecuta, basta con introducir el carácter **&** al final de la línea del comando. Aparecerá entonces el PID de este proceso de forma informativa.\\
 +
 +==== Detener un proceso ====
 +En caso de que el proceso se ejecute en primer plano, hay tres maneras de pararlo:
 +  * **ctrl + c**: Se envía la señal 2 (SIGINT, finalización del proceso por interrupción desde el teclado) al proceso.
 +  * **ctrl + \**: Se envía la señal 3 (SIGQUIT, finalización del proceso, previo guardado del espacio de memoria en un archivo llamado //core// (útil para la depuración de aplicaciones).
 +  * Identificar el PID del proceso en otro terminal, y usar el comando **kill** de forma adecuada.
 +
 +En el caso de que el proceso se esté ejecutando en segundo plano, sólo puede detenerse identificando su PID y deteniéndolo a través del comando **kill**.
 +
 +==== Control de procesos ====
 +Al ser posible ejecutar varios procesos desde el mismo terminal al mismo tiempo (ya que algunos pueden estar ejecutándose en segundo plano), son necesarios algunos comandos para controlarlos.
 +
 +=== jobs: lista de procesos ===
 +El comando **jobs** lista la lista de procesos que han sido iniciados desde el terminal actual.
  
 +=== bg y fg: toma de control de proceso ===
 +Si un proceso largo se ha iniciado en primer plano por error, no es necesario interrumpirlo para iniciarlo en segundo plano.\\
 +Hay que seguir estos pasos:
 +  - **ctrl + z**: El proceso se suspende y el usuario puede tomar de nuevo el control del terminal.
 +  - Se puede volver a ejecutar el proceso en primer plano con el comando **fg**, o en segundo plano con el comando **bg**.
 +  - Para ello hay que introducir como argumento el número de //job// del proceso (entre corchetes, cuando se ejecutra el comando **jobs**) precedido por **%** (sin espacios).
  
linux/administracionprocesos.1545389820.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki