Comando de Linux> salida.txt con retraso

Comando de Linux> salida.txt con retraso

Mi problema es que cuando ejecuto mi script continúa pasando el siguiente comando:

top -b > output.txt

Los datos en la máquina son bastante grandes y, por lo tanto, lleva algún tiempo recuperar la pila completa de estadísticas de la CPU de la topsalida. Genera una parte al instante y luego tarda un poco en obtener el resto. (Lo verifiqué simplemente ejecutando el comando superior en la terminal).

Necesito esperar a que se recuperen todas las estadísticas de la CPU, etc. (digamos 20 segundos), luego tomar la topsalida después de 20 segundos y enviarla a output.txt.

Sé que el sueño se utiliza para los retrasos, sin embargo, parece ser necesario en algún lugar específico en este caso.

Respuesta1

Dudo mucho que una máquina de este milenio tarde 20 segundos en generar una sola toptabla. Lo más probable es que el problema sea que le haya indicado topimprimir la salida a intervalospara siemprey esa salida no se escribe inmediatamente debido al almacenamiento en búfer. Inténtalo top -b -n1 > output.txten su lugar.

Respuesta2

Intente usar el waitcomando.

Como esto:

top -bn 1 > output.txt & wait

Se supone que debe esperar hasta que se complete el proceso antes de continuar.

información relacionada