23.10.2012 Views

Curso+de+Linux+para+novatos +brutos+y+extremadamente+torpes

Curso+de+Linux+para+novatos +brutos+y+extremadamente+torpes

Curso+de+Linux+para+novatos +brutos+y+extremadamente+torpes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

$ time yes | head --bytes=10000000 > /dev/null<br />

Tubería rota<br />

real 0m6.478s<br />

user 0m5.440s<br />

sys 0m0.900s<br />

Podemos hacer un consumo fuerte de CPU si forzamos a cálculos masivos que no tengan apenas<br />

entrada salida. Por ejemplo podemos poner a calcular el número PI con 300 cifras decimales. 'bc' es<br />

un comando que consiste en una calculadora. Admite uso interactivo pero tambien acepta que le<br />

pasemos las operaciones desde otro proceso combinando entrada salida.<br />

$ time ( echo "scale=300; 4*a(1)" | bc -l )<br />

3.141592653589793238462643383279502884197169399375105820974944592307\<br />

81640628620899862803482534211706798214808651328230664709384460955058\<br />

22317253594081284811174502841027019385211055596446229489549303819644\<br />

28810975665933446128475648233786783165271201909145648566923460348610\<br />

454326648213393607260249141272<br />

real 0m2.528s<br />

user 0m2.520s<br />

sys 0m0.010s<br />

En un Pentium 200Mhz este comando tardó 3 segundos para 300 cifras y 20 segundos usando 600<br />

cifras. Decimos esto para que vea que el tiempo que se tarda aumenta exponencialmente y que<br />

dependiendo de la potencia de su ordenador puede suponer bastante tiempo de proceso. Quizas<br />

tenga que variar el número de cifras significativas para poder medir tiempos con comodidad.<br />

Este comando 'time' es un comando interno pero en Linux también hay un comando externo<br />

llamado de la misma forma. Para poder ejecutarlo con esta shell debería incluir el camino completo.<br />

No deseamos abusar de su escaso 'time' así que no lo comentaremos. Para buscar en el man el<br />

comando 'time' que hemos explicado o de cualquier otro comando interno tendría que mirar en la<br />

página del manual de bash.<br />

Comando kill<br />

Este comando se utiliza para matar procesos. En realidad envia señales a otros procesos, pero la<br />

acción por defecto asociada a la mayoria de las señales de unix es la de finalizar el proceso. La<br />

finalización de un proceso puede venir acompañada del volcado de la información del proceso en<br />

disco. Se genera un fichero 'core' en el directorio actual que solo sirve para que los programadores<br />

localicen el fallo que provocó esta prusca finalización del proceso. Por ejemplo si el proceso intenta<br />

acceder fuera del espacio de memoria concedido por el kernel, recibirá una señal que lo matará. Lo

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!