我在prolog脚本上使用超时如下:
timeout 10s swipl -s test.pl "testarg" || printf "timed out!\n"
上述命令在终端输入时按预期工作,仅在脚本长时间运行时打印timed out!
。
但是当上面的行放在脚本文件中并执行时,它会显示一个奇怪的行为,其中快速prolog脚本完成运行(打印预期输出)但超时命令仍然等待10秒,并打印出timed out!
结束。
我在远程终端上运行它,bash版本是4.2.37
什么可能导致这种行为上的差异?有哪些解决方法?
PS:从脚本运行在运行Ubuntu的个人计算机上正常运行。