具体到Mac - 简单重复的例子:R Sys.sleep()中断在Mac /如何使中断延迟?
Sys.sleep(60)
print("output")
为Sys.sleep()帮助页面说它应检查有无中断,但它似乎并没有尊重其任何形式的,不CTRL- c,不是Esc,不是停止按钮。您可以使用从终端运行脚本的ctrl-c中断,但会杀死整个脚本。
我想有一个设置的延迟间隔,我仍然可以中断,此时脚本将继续(因此,即使60秒还没有过去,“输出”仍然会打印)。有没有(希望不是太重资源)的方式来做到这一点?
更普遍的是,当你不在终端时,是否有任何方法可以在Mac上中断一个Sys.sleep呼叫,无论之后会发生什么?
相关资源似乎仍然没有解决这个:
https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#How-can-I-interrupt-lengthy-operations-or-output_003f < - 显然可以注入来自终端的中断?但这是笨重的,当然不会达到主要目标。
尝试按住ESC键。这只适用于我(尽管我目前在Windows机器上)。帮助文件指出'Sys.sleep'“通常足以响应GUI事件,通常每半秒就会唤醒该进程。”所以只要快速按下键可能无法正常工作。 – lmo
在Mac上按Esc对我来说工作得很好,但是我不清楚你希望通过调用'Sys.sleep'来完成,然后中断它。你的意思是做更像这样的事情:http://stackoverflow.com/q/15272916/324364 – joran
在Mac OS 10.6.8与R 3.2.1 Esc无法正常工作。 – nya