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 12:03] – [ps] albertolinux:administracionprocesos [2018/12/23 17:36] (actual) – ↷ Página movida de linux:gestionsistema:administracionprocesos a linux:administracionprocesos alberto
Línea 15: Línea 15:
 ==== 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.\\ 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, especificando **LANG=C** en el //shell//.)), aunque de forma predeterminada muestra únicamente los procesos iniciados por el usuario desde el terminal.+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.1545390217.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki