| Línea 17: | Línea 17: | ||
:Otra manera de ver los procesos es por su jerarquía. Igual que en el sistema de ficheros, los procesos siguen una cierta jerarquía de padres a hijos. Todo proceso debe ser lanzado a partir de otro, sea el propio intérprete de comandos, el entorno gráfico, etc., de manera que se crea una relación de padres a hijos. Con el comando '''pstree''' podemos ver esta jerarquía de forma gráfica. Si lo ejecutamos, veremos cómo el padre de todos los procesos es uno llamado ''init''. A partir de éste parten todos los demás, que a la vez pueden tener más hijos. Esta estructura jerárquica es muy útil, ya que, por ejemplo, matando a un proceso padre que contiene muchos otros hijos, también matamos a todos sus hijos. También nos puede servir para identificar de dónde parten ciertos procesos, etc. Si no le pasamos ningún parámetro al comando, por defecto compacta todos los procesos con un mismo nombre para no mostrar una estructura demasiado grande, aunque esto también es configurable a partir de sus parámetros. | :Otra manera de ver los procesos es por su jerarquía. Igual que en el sistema de ficheros, los procesos siguen una cierta jerarquía de padres a hijos. Todo proceso debe ser lanzado a partir de otro, sea el propio intérprete de comandos, el entorno gráfico, etc., de manera que se crea una relación de padres a hijos. Con el comando '''pstree''' podemos ver esta jerarquía de forma gráfica. Si lo ejecutamos, veremos cómo el padre de todos los procesos es uno llamado ''init''. A partir de éste parten todos los demás, que a la vez pueden tener más hijos. Esta estructura jerárquica es muy útil, ya que, por ejemplo, matando a un proceso padre que contiene muchos otros hijos, también matamos a todos sus hijos. También nos puede servir para identificar de dónde parten ciertos procesos, etc. Si no le pasamos ningún parámetro al comando, por defecto compacta todos los procesos con un mismo nombre para no mostrar una estructura demasiado grande, aunque esto también es configurable a partir de sus parámetros. | ||
:Todos los procesos del sistema tienen una cierta prioridad. Como decíamos antes, esta prioridad indica el tiempo de CPU que se le dejará al proceso. Cuanto más prioritario sea el proceso, más tiempo de ejecución tendrá respecto a los otros. El rango de prioridades va desde el –20 al 19, de mayor a menor. Para lanzar un proceso con una determinada prioridad, podemos utilizar el comando nice. Si queremos dar una prioridad diferente a un proceso que ya esté en ejecución, podemos utilizar renice. Sólo el root puede utilizar el rango de prioridades negativas; así, el sistema se asegura de que el root cuente siempre con la posibilidad de ejecutar procesos más rápidamente que los usuarios. Por defecto, la prioridad con que se ejecutan los programas es la 0. Un aspecto que habrá que considerar es que con todo este mecanismo de prioridades no podemos medir el tiempo de ejecución real de un proceso porque la CPU se reparte entre todos los que tengamos en la cola de ejecución. En centros de cálculo donde se factura según el tiempo de utilización de las máquinas, es muy importante poder medir adecuadamente este aspecto. Por este motivo, el sistema nos proporciona el comando '''time''', el cual, al pasarle el programa que queremos medir, nos devuelve el tiempo real de CPU que ha utilizado. | :Todos los procesos del sistema tienen una cierta prioridad. Como decíamos antes, esta prioridad indica el tiempo de CPU que se le dejará al proceso. Cuanto más prioritario sea el proceso, más tiempo de ejecución tendrá respecto a los otros. El rango de prioridades va desde el –20 al 19, de mayor a menor. Para lanzar un proceso con una determinada prioridad, podemos utilizar el comando nice. Si queremos dar una prioridad diferente a un proceso que ya esté en ejecución, podemos utilizar renice. Sólo el root puede utilizar el rango de prioridades negativas; así, el sistema se asegura de que el root cuente siempre con la posibilidad de ejecutar procesos más rápidamente que los usuarios. Por defecto, la prioridad con que se ejecutan los programas es la 0. Un aspecto que habrá que considerar es que con todo este mecanismo de prioridades no podemos medir el tiempo de ejecución real de un proceso porque la CPU se reparte entre todos los que tengamos en la cola de ejecución. En centros de cálculo donde se factura según el tiempo de utilización de las máquinas, es muy importante poder medir adecuadamente este aspecto. Por este motivo, el sistema nos proporciona el comando '''time''', el cual, al pasarle el programa que queremos medir, nos devuelve el tiempo real de CPU que ha utilizado. | ||
| + | |||
| + | <!-- Categorías --> | ||
| + | [[Categoría:Sistema Linux]] | ||