¿Cómo muestra el command "superior" los resultados en vivo?

¿Cómo puedo escribir un script de shell que muestre los resultados en time real?

Algo así como el command top que actualiza los resultados después de algunos intervalos de time fijos.

texto alternativo

Solutions Collecting From Web of "¿Cómo muestra el command "superior" los resultados en vivo?"

Ayudaría si fueras mucho más específico sobre lo que intentas hacer.

Aquí hay un ejemplo extremadamente simplist:

 while true do clear date sleep 1 done 

puede usar el command watch (1) para ejecutar su script a intervalos regulares:

 watch -n 1 myscript.sh 

Esto ejecutará myscript.sh cada 1 segundo borrando la pantalla entre cada ejecución y con una timestamp en la esquina. Puede usar la opción -d e incluso resaltará las diferencias en el resultado por ejecución.

Erm, en caso de que esté buscando la salida más top durante más time, y no solo para verificar si un progtwig funciona bien, le sugiero que use htop .

Le da mucha información en time real y es más fácil de controlar y administrar.

Puede cambiar el layout de la salida, como charts de barras y columnas.

La mayoría de esos datos generalmente están expuestos en las primitivas del sistema de files virtuales / proc. Cada process tiene una input en / proc en un directory llamado PID. Entonces / proc / 5437 tendría las primitivas para el process 5437. Leer las primitivas allí y analizarlas adecuadamente aún te acercaría a lo que hace la parte superior.

En realidad, Top funciona llamando a llamadas a funciones específicas que extraen esta información directamente del kernel en lugar de extraerla de los files. Para hacer lo mismo desde bash, tendrías que extraerlo del sistema de files virtual / proc o extraerlo de otras llamadas como, por ejemplo, ps .

En cuanto a time real, eso no es posible en el nivel de detalle que proporciona la parte superior. Puede dividir el time lo suficientemente bien como para que parezca ser en time real, pero aún obtendrá segmentos de time.

top usa Curses y lee el sistema de files /proc