如果我要通过命令行运行一些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
,但似乎无法实现我想要的功能。 最佳答案
感谢@Biffen使用timeout
命令非常有效。在Mac上,我使用gtimeout
。我的整个命令如下所示:
cat <<'PYSTUFF' | gtimeout 0.5 python
while(True): print("hi")
PYSTUFF