Vous êtes sur la page 1sur 23

TEMA: HERRAMIENTAS PARA MONITOREO Y TRABAJO CON PROCESOS

Matando procesos:

Una de las formas ms cmodas de matar un proceso es desde el


comando top. Desde el top podemos, viendo previamente el
nmero del proceso, indicarle con la letra k, el pid del proceso
que deseamos eliminar y este comando (top) se ocupar de
matarlo.

Kill

Como no siempre estamos con el top


ejecutndose, el comando ms adoptado para
matar un proceso es el comando kill

kill [-SEAL] [...]

kill es muy til cuando se tiene que


matar un proceso en especfico.
Ahora, es un poco difcil si se
tuvieran que matar varios procesos
a la vez.

Ejemplo de cmo matar Firefox:

Primero, hay que averiguar el PID del programa:

ps -ef | grep Firefox

Ese comando devolver algo parecido a esto:

1986 ?

Usamos el PID devuelto por el comando anterior para aniquilar el


proceso:

kill -9 1986

Sl

7:22 /usr/lib/firefox-3.5.3/Firefox

EJECUTAR COMANDOS EN
SEGUNDO PLANO EN LINUX

Los scripts son algo indispensable en linux y en


algunas ocasiones puede ser necesario ejecutarlo
en segundo plano, ya sea porque tarde mucho en
finalizar o porque el programa tiene que
ejecutarse de forma indefinida y al mismo tiempo
se quieren analizar sus entradas/salidas en
tiempo real, o cuando, en el caso de conexiones
remotas, por el motivo que sea, se pueda producir
una desconexin.

& (ampersand)

Si aadimos un ampersand (&) al final del comando o del script que queremos
ejecutar, ste se ejecutar en segundo plano.
./script.sh &

Nohup

Para evitar esto utilizamos el comando nohup. Este comando hace que un proceso
ignore la seal SIGHUP, y redirige la salida de nuestro script a un archivo
nohup.out que es creado en el directorio actual.
nohup ./script.sh &

Screen

Si invocamos un comando en segundo plano (usando nohup y &), ste


seejecutarinclusodespus de que cerremos nuestra sesin

La instalacin

sudo apt-get install screen

El primer paso es ejecutar el script que necesitamos como parmetro del comando
screen:

screen ./script.sh

Mediante el parmetro -r y el identificador de la sesin recuperamos la pantalla


que necesitemos:

$ screen -r 1788.ttys000.maquina

Fuente: barralog.

Cambio de prioridad de un
proceso
Se utiliza para decidir la cantidad de tiempo que el proceso podr
utilizar el procesador, por intervalo de tiempo.
La prioridad le dice al sistema que procesos pueden utilizar mas
tiempo de procesador y que procesos pasan a un segundo lugar.
Esto puede llegar a ocasionar que la ejecucin de algn proceso no
llegue a ejecutarse nunca, ya que van siendo desplazados en la cola
de procesos hacia el final por otros procesos con una prioridad
mayor.

nice

-20 a 19
Asigna una prioridad concreta a un programa al ser ejecutado, y por
herencia las tareas y procesos que este programa pueda
desencadenar.
Nos dir el nivel de nice conque estamos corriendo (nice hereda
este valor del shell).

nice bash
ejecutar el shell bash, pero lo har con
un nivel de prioridad de 10 (ms bajo que
0), por ejemplo, verifiquemos:
1.

El primer nice que ejecutamos lo


hacemos dentro de un shell con
prioridad 0, por eso sale 0

2.

Dentro de este shell, invocamos a un


segundo shell: (nice bash), se baja
automticamente la prioridad de este
programa pues lo ejecutamos con nice.

3.

Es por esto que al ejecutar


nuevamente nice, nos responde: 10..
que se est ejecutando dentro de un
shell con prioridad 10.

Cerremos

todos los shells que abrimos


(apretando Ad varias veces).

Si

ahora desde este mismo shell con prioridad


10, ejecutramos: nice -n -15 bash. Lo que
haramos sera llamar al bash, pero quitarle 10
niveles de prioridad (10-15=-5) por lo que
haramos correr al bash con una escala negativa

Los

usuarios normales no pueden llamar al nice


con un valor menor al valor de su shell.

E
R

I
N

E
C

Para qu sirve?
Renice
permite, dado
un nmero de
proceso,
cambiarle su
prioridad
renice.

Cambiar la
propiedad de
un proceso
sin interferir
en la
ejecucin del
programa.

<prioridad> [-p pid ....] [-g grp ....]


[-u user ...]

Consideraciones
Solo root
Los usuarios
puede
normales del
sistema slo
utilizarlos
pueden hacer un
para
renice de los
incrementar
procesos que les
la prioridad.
pertenecen.
Tanto nice como renice
nos permite cambiar la
prioridad de programas o
procesos sin interferir en
la ejecucin del
programa.

EJEMPLO

Como root podra poner:

renice -10 -u rpc (aumentara en 10 la prioridad de todos los


procesos bajo el usuario rpc).

renice +5 -u rpcuser (disminuira en 5 la prioridad de todos los


procesos bajo el usuario rpcuser).

renice -5 -p 1846 (aumentara la prioridad del proceso 1846 en


5).

Comando
nohup

Mantiene la ejecucin de un comando pese a salir de la terminal

El comando nohup nos permite que los procesos ignoren las


seales KILL y TERM. De esta forma evitamos que sean matados
cuando salgamos del sistema y puedan seguir procesndose.

Ejemplo

Vous aimerez peut-être aussi