【问题标题】:While Loop or not - System resources usageWhile Loop or not - 系统资源使用情况
【发布时间】:2013-08-29 06:14:28
【问题描述】:

我正在编写 bash 脚本,我想出了一个有趣的问题 使用 While 和 if 我使用 while 循环这将如何影响系统的负载 CPU While 循环在每个 CPU 节拍/周期中执行/检查 - 所以 cpu 不是空闲的 - 对吗? 我用 wwwhat() 和 ww() 做了一点乒乓效应——这意味着 CPU 在等待用户输入时会处于空闲状态?我想知道这是否比使用循环(C、C++、Java 等)有时性能更好?

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

【问题讨论】:

  • 那不是while循环,那是一堆意大利面条代码冒充while循环。
  • 是的,这不是一个while循环——为什么你认为它必须是代码中的一个while循环?

标签: bash loops cpu


【解决方案1】:

你是对的,如果 bash 正在等待用户输入,while 循环不会消耗 CPU。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多