如果我要通过命令行运行一些Python,比如说:
cat <<'PYSTUFF' | python
print "Hi"
print "There"
print "Friend"
PYSTUFF
这非常有效,并输出REPL的响应。我要做的是限制这个命令的执行。例如,如果我写道:
cat <<'PYSTUFF' | python
while(True):
print "Oh no!"
PYSTUFF
那将是不好的,最终会崩溃的东西。我如何限制执行说“如果这需要超过x的时间量,杀死它。”?我试过使用ulimit -t 2
,但似乎没有达到我想要的效果。你知道吗
如果要从shell控制此操作,请在后台启动python脚本,休眠一段时间,然后终止后台进程:
从Python2.6+开始,您可以使用
multiprocessing
模块:多亏@Biffen使用了
timeout
命令,所以工作得非常好。在mac上我使用了gtimeout
。我的整个命令如下:相关问题 更多 >
编程相关推荐