2013-08-29 4 views
-1

Я использую bash-скрипты, и я подошел к интересному вопросу Чтобы использовать While, и если я использую while, как это влияет на загрузку системы CPU Пока цикл выполняется/проверяется каждый такт CPU/cycle - поэтому процессор не является Idle -right? Я сделал небольшой эффект пинг-понга с wwwhat() и ww() - означает, что CPU будет простаивать, ожидая ввода от пользователя? Я хотел бы знать, если это лучшее решение для производительности, чем использование Loop (C, C++, Java и т. Д.)?While Loop or not - Использование системных ресурсов

#!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

Это не цикл 'while', это куча кода спагетти *, выдающего себя за цикл' while'. – Sammitch

+0

Да, это не цикл while - почему вы думали, что это должен быть цикл while в коде? –

ответ

0

Вы правы, если bash ожидает ввода пользователем, цикл while не будет потреблять процессор.