Articles of 无限循环

在按下键时停止C ++中的无限循环

我有一个如下所示的程序: #include<iostream> using namespace std; int main() { while(true) { //do some task if(Any_key_pressed) break; } return 0; } 如果有任何按键被按下,如何退出循环。 C++ Compiler: GCC 4.2 and higher OS: Linux-Mint 谢谢

Linux top命令如何确定Java进程的状态?

[更新:在top ,按Shift + H,它显示线程,而不是进程,然后显示Java线程为R,并使用100%的CPU时间,这是我希望发布此问题之前。 由于Java进程有多个线程,每个线程可能处于不同的状态,那么Linux top命令如何确定Java进程状态? 如果我运行下面的代码, public class Test{ public static void main(String[] args){ while (true){ int n = (int)(Math.random() * 1000); } } } 然后,运行top显示进程状态是S,它使用100%的CPU时间。 此外,运行strace显示,只显示: futex(0x7f6ba759c9d0, FUTEX_WAIT, 26060, NULL 但是,运行jstack显示主线程是RUNNABLE: "main" prio=10 tid=0x00007fd7ec007800 nid=0x669b runnable [0x00007fd7f5754000] java.lang.Thread.State: RUNNABLE at Test.main(Test.java:5) jstack还显示,WAITING状态下只有两个线程: "Finalizer" daemon prio=10 tid=0x00007fd7ec080000 nid=0x66a6 in Object.wait() [0x00007fd7f0252000] java.lang.Thread.State: WAITING (on […]

如何处理永远不会执行的代码

我有一些看起来像这样的代码,我不确定如何处理永远不会被执行的部分,因为这段代码的一部分在等待连接时运行在无限循环中,当我终止程序时,它只从那里退出。 main(){ // do some stuff…. while(1) { int newFD = accept(sockFD, (struct sockaddr *)&client_addr, &client_addr_size); if(newFD == -1) { std::cerr << "Error while Accepting on socket" << std::endl; continue; } if(!fork()) { close(sockFD); // close child's sockfd – not needed here // lalala do stuff send message here close(newFD); // finally close its newFD […]

当Windows进入可怕的100%cpu使用僵尸模式时该怎么办

偶尔发生在我身上: 我开始我的程序在Visual Studio中,由于一些错误,我的程序进入100%的CPU使用率,基本上完全冻结窗口。 只有完全耐心的请求任务pipe理器(永远拿出来画自己),我可以杀死我的过程。 别人也有时遇到这个吗? 有没有一个聪明的把戏让这个过程下来(除了拔插头和可能毁了高清文件)? 如果任务pipe理器没有意外出现,现在需要5-10分钟才能正确地杀死它,而且我必须先要求这个 [R ps奇怪的是,“多任务操作系统”仍然可以让进程吃掉这么多的时间,以至于再也做不了什么事情了。 我的程序甚至没有碰到它的线程优先级或任何东西

运行给定目录中的所有batch file

我有以下批处理脚本来运行目录中的所有文件。但是,这个脚本是一个无限循环,并不断重复。 有没有办法停止脚本,当它完成最后一批文件以下是我的脚本 @echo off for /R %%x in (*.bat) do ( call "%%x" ) pause

如何创build一个非冻结的无限循环?

我的问题如下: 如何在C ++中创build无限循环,不冻结窗口,保持响应,并允许程序随时closures? 例: #include <Windows.h> int main() { while(1) { FlashPrettyGraphics(); Sleep(10); } } 这个程序,就像现在一样,将工作在约。 十几秒钟之后,它将变得没有响应和崩溃。 在执行过程中,窗口将无法移动。 我如何解决这个问题?

如何在循环中使用更less的CPU?

我有一个循环,看起来像这样: while (elapsedTime < refreshRate) { timer.stopTimer(); elapsedTime=timer.getElapsedTime(); } 我在其他地方读到类似的东西( 没有100%cpu的C Main Loop ),但是这个循环运行的是一个高分辨率的计时器,它必须是准确的。 那么我怎么不占用100%的CPU,同时仍然保持高分辨率?

redirecthtaccess的图像到另一台服务器没有redirect循环

我目前有一个主机,我的主要网站托pipe。 我已经在另一台服务器上设置了nginx镜像/caching正在请求的文件,如果它没有,特别是图像和flvvideo。 例如: www.domain.com是我的主要网站。 www.domain.com/video/video.flv www.domain.com/images/1.png 我想请问apache将其redirect到imgserv.domain.com(imgserv.domain.com指向另一个服务器IP) imgserv.domain.com/video/video.flv imgserv.domain.com/images/1.png 基本上redirect一切与某些文件types和保存的URL的结构,如FLV等 我尝试了一些,但我得到一个redirect循环错误。 有人能帮我吗? 谢谢! 这是我目前所拥有的 RewriteEngine ON RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC] RedirectMatch 302 ^(.*)\.gif$ http://imgserv.domain.com/forums$1.gif RedirectMatch 302 ^(.*)\.jpg$ http://imgserv.domain.com/forums$1.jpg RedirectMatch 302 ^(.*)\.png$ http://imgserv.domain.com/forums$1.png

我如何运行长期(无限)的Python进程?

我最近开始尝试使用Python进行Web开发。 到目前为止,我已经使用Apache与mod_wsgi和Python 2.7的Django Web框架取得了一些成功。 然而,我遇到了一些问题,有不断运行的进程,更新信息等。 我已经写了一个我称之为“daemonManager.py”的脚本,可以启动和停止所有或单独的python更新循环(我应该把它们叫做守护进程?)。 它通过分叉,然后加载模块来运行它应该运行的特定function,并启动一个无限循环。 它将一个PID文件保存在/var/run以跟踪进程。 到现在为止还挺好。 我遇到的问题是: 不时有一个进程将会退出。 我在早上检查ps ,这个过程已经结束了。 没有logging错误(我正在使用logging模块),并且覆盖了我能想到的所有exception并logging下来。 另外我不认为这些退出过程与我的代码有任何关系,因为我的所有进程都运行完全不同的代码,并以相似的时间间隔退出。 我当然可能是错的。 Python进程在运行了几天/几周后才死掉,这是正常的吗? 我应该如何解决这个问题? 我应该编写另一个守护进程来定期检查其他守护进程是否仍在运行? 如果守护进程停止了,该怎么办? 我不知如何处理这个问题。 如何以编程方式知道进程是否仍在运行? 我将PID文件保存在/var/run并检查PID文件是否存在以确定进程是否正在运行。 但是,如果进程刚刚死于意想不到的原因,PID文件将保留。 因此,每次进程崩溃时(每周几次),我都必须删除这些文件,这种做法无法达到目的。 我想我可以检查一个进程是否在文件中的PID上运行,但是如果另一个进程已经启动并被分配了死进程的PID呢? 我的守护进程会认为这个进程运行良好,即使它已经很长时间了。 再次,我不知如何处理这个问题。 有关如何最好地运行无限Python进程的任何有用的答案,希望也可以解决上述问题,我会接受 我在Ubuntu机器上使用Apache 2.2.14。 我的Python版本是2.7.2

如何在Linux上运行无限的脚本?

我有一个无限循环的PHP脚本。 我需要这个脚本永远运行。 所以,我跑了 php /path/to/script.php > /dev/null & 它在我当前用户的安全上下文中工作在后台。 但是,当我closuresterminal窗口(注销),当然,CentOS Linux杀死我的程序。 我看到两个猜测:从后台运行一个不同的用户或build立一个守护进程。 我需要在每种情况下的帮助。 非常感谢!