我有一个执行python的命令,它将执行时间限制为半秒。

cat <<'PYSTUFF' | gtimeout 0.5 python
print "Hi"
print "hello"
PYSTUFF

这很管用。不过,如果有人要写这样的东西:
cat <<'PYSTUFF' | gtimeout 0.5 python
while(True): print("hi")
PYSTUFF

它将终止执行,我将留下大约12.5 mb的"hi"。我想通过管道将这个命令的输出设置为head,这样我就可以将输出限制在前500k行左右。我只是不知道该把这个放在哪里:
| head -n 500000

我试着把它放在HEREDOC的末尾,这显然是不正确的。

最佳答案

把它放在gtimeout呼叫之后。

cat <<'PYSTUFF' | gtimeout 0.5 python | head -n 500000
while(True): print("hi")
PYSTUFF

09-27 06:47