除了ctrl + c之外,如何在linux中停止运行R命令?

时间:2012-02-18 01:52:00

标签: linux r command

我在linux下以交互模式运行R,并错误地键入了一个需要永远运行的命令。我通常使用ctrl + c来停止它。但它并不是一直都在工作。如果它不起作用,还有另一种方法吗?我不想杀死R会议以重新开始。

感谢。

4 个答案:

答案 0 :(得分:36)

我遇到了你提到的问题。当ctrl+c能够意识到“哦,这个家伙要我停止运行那个特定的命令时,R会有效。”但是,R通常不能这样做。所以你必须运行ctrl+\(注意它是反斜杠而不是正斜杠)。这告诉 linux “嘿,R没有听我说,你能停止运行R吗?”。

首先尝试ctrl+c,因为如果它有效,您仍然会有R个会话。如果它不起作用,并且ctrl+\您将失去R会话,但至少会停止此过程。

如果这也不起作用,那么我会建议killall Rkill -9 [PID]通过运行pus aux找到PID。

答案 1 :(得分:10)

尝试使用ctrl + c,然后用ctrl + z暂停R,然后用fg取消R(#job)

我尝试了上面给出的解决方案,通过kill向R发送一些信号,但都没有工作。然后我尝试了上面的序列(ctrl + c; ctrl + z,fg 1)并且它工作了。我可以继续R会议。 我不确定它是否是其中一个信号或ctrl + c停止了R,但我猜ctrl + z在这里是必不可少的。

答案 2 :(得分:6)

你也可以试试 kill -USR1 [pid]

这将中断一些R调用,有时会让您选择保存并退出,而不是一起杀死进程。

答案 3 :(得分:3)

ctrl + c无效。不知何故,ctrl + \将停止进程。但是r编程中有一个功能可以退出。您可以在RPEL上尝试 q() ,为我工作。

  

Q()