我该如何打断R?

时间:2015-03-05 21:56:00

标签: r

有时候R花了很多时间来完成一项微不足道的任务,比如当我要求它打印一些东西时,事实证明它太长或太复杂而R只是在那里以100%的CPU利用率。 我有什么选择? Ctrl-C没有帮助。 有没有办法杀死R,以便事先保存工作区?

PS。我在Mac OS X上运行Emacs / ESS。我知道Unix下的进程管理(C-c,C-z,bg / bg,kill& c)。我想知道特定于R的技巧(例如,"if you send signal SIGUSR1 to R, it will silently save workspace and exit immediately" - 不管你信不信,我在之前写了上一句我找到了链接的答案: - )。

2 个答案:

答案 0 :(得分:2)

如果Ctrl-c(或Rstudio或RGui中的停止符号按钮)不起作用,那么您的选项将受到限制。如果你必须保存你的工作,你只需要等待。 如果您在Linux中,可以通过按Ctrl-z然后按bg命令将其移至后台。如果要检查它,请运行fg将其重新启动。在Windows中按最小化按钮:)

你仍然可以杀死进程来阻止它,但是你将失去任何未保存的工作。

要在Linux中终止进程:

  • 按住Ctrl-z将R移至背景
  • 运行ps并找到进程ID
  • 运行kill [id]以终止进程(如果仍未停止使用kill -KILL [id]

要在Windows中终止进程:

  • 点击Ctr-Alt-Esc以启动任务管理器
  • 进入流程标签
  • 选择R会话进程(rstion.exe for RStudio)
  • 点击"结束流程"

答案 1 :(得分:1)

当您在RStudio中运行代码时,控制台中应该有一个“停止标志”。尝试点击它。大多数情况下,除非您运行的代码需要一段时间,否则您将看不到此停止标志。