Me gustaría saber como se hace un script en linux que devuelva el nombre del proceso que consume más memoria.
Gracias de antemano
Se me olvidó decir que a ser posible en bash. Gracias amigos.
| |||
No sé como hacer este script Me gustaría saber como se hace un script en linux que devuelva el nombre del proceso que consume más memoria. Gracias de antemano Se me olvidó decir que a ser posible en bash. Gracias amigos. Última edición por lomasdelicioso; 03/12/2010 a las 03:39 |
| |||
Respuesta: No sé como hacer este script Puedes ver los procesos desde el terminal con el comando:
Código:
Quizás puedas usar el comando:top
Código:
Saludos,ps aux | grep "<cadena de busqueda>" Gonzo13 |
| |||
Respuesta: No sé como hacer este script La función top no la comprendo bien, no sé como poner los procesos en orden según la memoria que chupan, y luego averiguar que proceso gasta más, con ps aux | grep "cadena a buscar" no sé que cadena poner porque el proceso puede ser cualquiera y de cualquier tamaño, todavía no me ha quedado claro como hacerlo. Gracias por tu ayuda. |
| |||
Respuesta: No sé como hacer este script Hola, mira la documentación del comando top ejecutando
Código:
hay una opción que quizás te interese, "-b". Cuando estés ejecutando top, si pulsas la letra M mayúscula se ordenan los procesos por el consumo de memoria en orden decreciente (el que más consume el primero). Desconozco cómo podrías obtener eso en tu programa. Siento no poder ayudarte más.man top Saludos, gonzo13 Última edición por gonzo13; 05/12/2010 a las 10:17 |
| |||
Respuesta: No sé como hacer este script Con la orden...
Código:
...me ordena los procesos, primero el que más CPU usa y así descendentemente, y puesto que el nombre de este proceso siempre se encuentra en la última palabra de la octava línea, ya solo me falta como llegar a esa palabra...top -bn 1 La orden cut parece interesante para ese trabajo pero aún así, no encuentro el modo de cortarla, ¿alguien domina la orden cut o sepa alguna otra manera? |
| ||||
Respuesta: No sé como hacer este script En mi caso (Fedora 14), el nombre del proceso está en la columna 12. Por lo tanto, es posible usar awk, indicándole que use el espacio en blanco como separador:
Código:
top -bn 1 | awk -F' ' {'print $12'}
__________________ Christian González, "OCIOMax" http://chgonzalez.blogspot.com http://twitter.com/chgonzalez |
| |||
Respuesta: No sé como hacer este script Estoy conociendo el 'comando awk' que parece interesante para lo que yo quiero, pero esa orden que pusiste...
Código:
...no me devuelve el programa que usa más CPU, por lo menos a mí que estoy en Ubuntu, no sé si tendrá que ver.top -bn 1 | awk -F' ' {'print $12'} Gracias de todas formas, ya casi tengo resuelto el problema, a ver si alguien saca la solución antes que yo...wajaja. |
| |||
Respuesta: No sé como hacer este script Gracias por vuestra ayuda, con este código ya me funciona:
Código:
A mí por lo menos me funciona, espero que a ustedes también, es un poco chapucera la manera de conseguirlo pero a mí me funciona. ((top -bn 1|head -8)|(tail -1))|cut -c61-999 ******************Otro script**************** Como creo un guión que elimine un trabajo pasándole como argumento el nombre de la orden y a continuación espere al resto de trabajos en segundo plano... ********************************************* No estoy muy puesto en control de procesos, la ayuda que me puedan aportar será agradecida. |