2012-02-18 13 views
32

私はlinuxの下で対話モードでRを実行していて、間違いなくコマンドを入力すると永遠に実行されます。私は通常、ctrl + cを使用して停止します。しかし、それは常に動作しません。それがうまくいかない場合、別の方法がありますか?私はどちらかをやり直すためにRセッションを終了させたくありません。ctrl + c以外のlinuxで実行中のRコマンドを停止するには?

ありがとうございました。

答えて

32

私はあなたが言及した問題を抱えていました。 ctrl+cは、Rが「ああ、この男は私にその特定のコマンドの実行を止めさせたい」と気付くことができるときに動作します。しかし、しばしばRはできません。したがって、ctrl+\を実行する必要があります(スラッシュではなくバックスラッシュです)。これはlinux "ねえ、R私に聞いていない、Rを実行を停止することができますか?

最初に試してみてください。なぜなら、まだ動作していれば、まだRのセッションがあるからです。それでも問題が解決しない場合は、ctrl+\を実行すると、Rセッションは失われますが、少なくともプロセスを停止します。

それでもうまくいかない場合は、pus auxを実行してPIDを見つけるkillall Rまたはkill -9 [PID]をお勧めします。

+5

はCtrl + Cが動作しない場合は、ユーザーの割り込みをチェックしませんコンパイルされたコードを呼び出す関数を呼び出しているので、それが通常です。これらは通常、ユーザが提供するパッケージであり、基本/推奨のRパッケージではありません。 –

+0

私はRセッションを生きたままにすることができる解決策を探していましたが、応答に感謝します。 – danioyuan

+0

@danioyuanは、私がJoshuaのコメントから集めたもので、あなたが呼んでいる機能のいくつかでは不可能かもしれません。ユーザーの割り込みを無視することは自由です。 – Richard

6

また、これは、いくつかのR・コールを中断し、時にはあなたはすべて一緒にプロセスを殺すむしろ保存して終了するオプションを提供します kill -USR1 [pid]

を試すことができます。

10

私が殺すとRにいくつかの信号を送信して上記で与えられたソリューションを試していないが、どちらも、その後、Ctrl + ZとRを一時停止し、Ctrl + Cを使用しようとし、その後、FG(#job)

とRの一時停止を解除します働いた。それから、私は上記のシーケンスを試しました(ctrl + c; ctrl + z、fg 1)。私はRセッションを続けることができました。 私はそれがシグナルのいずれか、またはRを停止したctrl + cかどうかはわかりませんが、ここではCtrl + Zは必須であったと思います。

3

ctrl + cが機能しません。何とかCtrl + \はプロセスを停止します。しかし、プログラミングを中止するにはfuctionがあります。 RPELでq()を試してみてください。

Q()

関連する問題