我正在尝试在社区编程的服务器中实现类似的功能,并且我起草了这个来总结对 oneide 功能的另一种看法:从 Perl CGI 我构建了一个像这样的脚本(甚至不是伪代码):
compiler_response = timeout (params) compiler (params)
result = timeout compiledprogram (params)
save result in database
我认为超时是我需要限制程序执行或编译超过 X 秒的工具,我遇到的问题是我需要限制编译后的程序写入 STDOUT 以外的任何内容或从 STDIN 以外的任何内容读取。另外,我需要将程序的大小限制在一定的范围内,例如 128KB,以及它可以使用的 RAM 量,例如 64 MB。
从 bash 中执行此操作的正确工具是什么?提前致谢。
答案1
答案2
我们用构建机器人在我们公司。
答案3
我以前没有尝试过这个,但是你可以尝试使用 FedoraProject 的 Koji,这个从代码 tarball 构建 RPM。
https://fedorahosted.org/koji/wiki
它使用模拟
http://fedoraproject.org/wiki/Projects/Mock
如果你的代码都是关于 Java/.NET 企业的东西,Hudson 真的很酷http://wiki.hudson-ci.org/display/HUDSON/Home