2010-08-04 4 views

Répondre

0

mieux que vous pouvez faire est la suivante:

while :; do 
    i=0 
    while [ $i -lt 1000 ]; do 
      echo hi >> tmp 
      i=$((i+1)) 
    done 
    sleep 1 
done 

Le moment d'exécuter les commandes dans l'intérieur tandis que la boucle ne soit pas prise en compte, donc cela va écrire un peu moins messages par seconde.

+0

Merci, mais j'ai une question fondamentale ici: Qu'est-ce que nous faisons est, dormant 1 seconde entre chaque 1000 messages, comment cela assure-t-il que la boucle while interne est exécutée en 1 seconde? Ou ce que je demande n'est probablement pas exactement possible car beaucoup de choses peuvent réellement se passer avec les cycles de cpu pendant que ceci est fait. S'il vous plait corrigez moi si je me trompe. – hari

+0

@hari Vous avez raison: vous ne pouvez pas être sûr et d'autres programmes peuvent utiliser des cycles CPU. Si cette solution est assez bonne, cela dépend du problème que vous essayez de résoudre. – schot

Questions connexes