2013-08-29 5 views
-1

Je suis en train de faire des scripts bash et je suis venu avec question intéressante à utiliser tout et si je l'utilise en boucle comment cela affecte la CPU de charge du système Alors que la boucle est exécuté/vérifié chaque tact CPU/cycle - donc le cpu n'est pas inactif? J'ai fait un petit ping-pong avec wwwhat() et ww() - cela veut dire que le CPU sera inactif en attendant l'entrée de l'utilisateur? Je voudrais savoir si c'est une meilleure solution de performance parfois que d'utiliser une boucle (C, C++, Java, etc.)?While ou non - utilisation des ressources système

#!bin/bash 


wwwhat(){ 
read x 
if [ "$x" == "y" ]; then echo "Starting WEB SERVER"; service httpd start 2> /dev/null; 
echo "Loading web site in 10sec with w3m" 
sleep 10 
w3m 127.0.0.1 
exit 
fi 
if [ "$x" == "n" ]; then echo "End"; 
else ww; # ask Y or N 
fi 
} 



sstartw(){ 
echo; 
} 


ww(){   #back to wwwhat 
echo "y/n?:" 
wwwhat; 
} 


clear 
printf "TODAY: "; date; 
echo 
s="WHOAMI: ";printf "$s " ;whoami; 
echo 
h="HOSTNAME: "; printf "$h " ; hostname 
echo 
a="1"; 
if service httpd status > /dev/null ; then printf "WEB SERVER IS RUNNING"; 
echo 
echo "Loading web site in 10sec with w3m" 
sleep 10 
w3m 127.0.0.1 
fi 
if ! service httpd status > /dev/null ; then printf "WEB SERVER IS DOWN"; 
echo 
echo "Do you want to start the WEB SERVER?(y/n)"; wwwhat; 
fi 
+0

http://codereview.stackexchange.com –

+0

Ce n'est pas une boucle 'while', c'est une pile de code spaghetti * usurpant * une boucle while. – Sammitch

+0

oui, ce n'est pas une boucle while - pourquoi vous pensiez que ce doit être une boucle while dans le code? –

Répondre

0

Vous avez raison, si bash attend l'entrée de l'utilisateur, la boucle while ne consommera pas de CPU.

Questions connexes