【发布时间】:2012-03-19 08:54:02
【问题描述】:
我使用proc_open来执行一个c语言创建的程序。
我使用文件作为“stdout”。
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("file", "/tmp/example.output"),
2 => array("file", "/tmp/example.error", "a")
);
当我执行好的程序时一切都很好,但是当我执行无限循环程序时出现问题,如下面的代码:
#include "stdio.h"
int main(){
while(1){
printf("Example");
}
return 0
}
文件 example.output 将使我的硬盘满。所以我需要删除文件并重新启动计算机。我的问题是如何处理这样的事情?
谢谢:)
【问题讨论】:
-
有时间限制怎么样? (如果你真的不想删除你的
<infy loop> -
当运行这样的无限循环时,您期望会发生什么?
-
如果任何程序中存在无限循环,请先修复它。
-
hjpotter92:我也设置了时间限制,所以当超过时间限制时,系统会杀死 proc_open 进程 cillosis:我希望我能杀死 proc_open 进程并节省我的硬盘空间:D Shiplu:实际上是无限循环程序是用户的输入。所以我需要处理这件事