martes, 10 de abril de 2012

Herramientas de Linux para Gestión de los Servicios de un Sistema Informático

ps 
El comando ps es el que permite informar sobre el estado de los procesos. ps está basado en el sistema de archivos/proc, es decir, lee directamente la información de los archivos que se encuentran en este directorio. Tiene una gran cantidad de opciones, iojncluso estas opciones varían dependiendo del estilo en que se use el comando.
Variaciones sobre el uso de ps:
  • Estilo UNIX, donde las opciones van precedidas por un guión -
  • Estilo BSD, donde las opciones no llevan guión.
  •  Estilo GNU, donde se utilizan los nombres de opciones largas y van precedidas por doble guión--
Se mostrarán varias columnas en el listado de procesos que resulte. Las principales son:
p o PID : Process Id, número único o de identificación del proceso.
P o PPID : Parent Process ID, padre del proceso.
U o UID : User ID, usuario propietario del proceso.
t o TT o TTY : Terminal asociada al proceso, si no hay terminal aparece entonces un '?'.
T o TIME : Tiempo de uso de cpu acumulado por el proceso.
c o CMD : El nombre del programa o comando que inició el proceso.
RSS : Resident Sise, tamaño de la parte residente en memoria en kbytes.
SZ o SIZE Tamaño virtual de la imagen del proceso.
NI Nice, valor nice (prioridad) del proceso, un número positivo significa menos tiempo de procesador y negativo más tiempo (-19 a 19).
C o PCPU Porcentaje de cpu utilizado por el proceso.
STIME Starting Time, hora de inicio del proceso.
S STAT Status del proceso.

Las opciones completas de ps se encuentran en 'man ps' o escribiendo en el terminal ps L. Para ver un resumen de sus opciones más comunes usa ps -help.

pstree
Muestra los procesos en formal de árbol. pstree --help te da las opciones más comunes.

kill 
Sirve para matar procesos y para enviar señales a los procesos.
kill PID, siendo PID el número de ID del proceso. Así, por ejemplo es posible mandar una señal de STOP al proceso y se detiene su ejecución, CONT para continuar el proceso.

kill -l: lista de todas las posibles señales que pueden mandarse a un proceso. 

killall: funciona de manera similar a kill, solo que en lugar de indicar un PID se indica el nombre del programa, lo que afectará a todos los procesos que tengan ese nombre. 

nice
Permite cambiar la prioridad de un proceso.  Las prioridades van desde -20 (la más alta) a 19, la más baja. Solo root o el superusuario puede establecer prioridades negativas que son más altas. 

renice
Permite alterar la prioridad de un proceso en tiempo real, sin necesidad de detener el proceso. 

nohup y &
Cuando se trata de ejecutar procesos en background (segundo plano) se utiliza el comandonohup o el operador &.  Aunque realizan una función similar, no son lo mismo. 

Si se desea liberar la terminal de un programa que se espera durará un tiempo considerable ejecutándose, entonces se usa &. Esto produciría que el padre del proceso PPID que se invocó sea el proceso de la terminal en si, por lo que si cerramos la terminal o salimos de la sesión también se terminarán los procesos hijos que dependan de la terminal, no muy conveniente si se desea que el proceso continúe en ejecución.
Por ello se usa el comando nohup que permite al igual que '&' mandar el proceso y background y que este quede inmune a los hangups que es cuando se cuelga o termina la terminal o consola de la cual se ejecutó el proceso. 

top 
Se usa para el monitoreo en tiempo real del estado de los procesos y de otras variantes del sistema. Se ejecuta desde la línea de comandos, es interactivo y por defecto se actualiza cada 3 segundos. 

htop
Es igual que la acción anterior solo que ahora mostraría en la misma pantalla todos los comandos para usar top.




No hay comentarios:

Publicar un comentario