如何使用键盘命令中断R中正在运行的代码?

时间:2011-12-03 19:57:51

标签: r

任何人都可以告诉我如何在R中中断正在运行的脚本?

假设我有一个无限循环或其他问题,我想阻止脚本运行。有没有键盘命令呢?

如果它有帮助,在Python中它是Ctrl + c。我在R中尝试过,但它不起作用:)。

我对这个看似简单的问题进行了一些搜索,但找不到答案。

提前致谢。

4 个答案:

答案 0 :(得分:50)

自我回答(几乎总结其他人的评论和答案):

  • RStudio中,Esc适用于Windows,Mac和ubuntu(我猜其他Linux发行版也是如此)。

  • 如果在ubuntu shell中运行该进程(并且这不是R特定的),例如使用:

    Rscript my_file.R
    

    Ctrl + c杀死了这个过程

    Ctrl + z暂停流程

  • 在R shell中,Ctrl + C杀死可以帮助你逃脱它

答案 1 :(得分:14)

Control-C有效,但根据进程的进行情况,它可能不会立即生效。

如果你使用的是基于unix的系统,我做的一件事就是使用control-z返回命令行提示符,然后对进程ID发出'kill'。

答案 2 :(得分:7)

尝试Ctrl + z 但它会杀死这个过程,而不是暂停它。

答案 3 :(得分:1)

我知道这很旧,但是遇到了同样的问题。我在Mac / Ubuntu上,来回切换。我发现,仅向主R进程发送一个简单的中断信号就可以满足您的需求。我已经运行了长达24小时的脚本,并且信号中断效果很好。您应该可以在终端上执行kill命令:

$ kill -2 pid

您可以通过运行

找到pid。
$ps aux | grep exec/R

不确定Windows,因为我从未去过Windows,但是我无法想象在命令提示符/任务管理器中没有同样的选择

希望这会有所帮助!