Как я могу прервать работающий код в R с помощью клавиатуры? - PullRequest
66 голосов
/ 03 декабря 2011

Может кто-нибудь сказать, как я могу прервать запущенный скрипт в R?

Допустим, у меня бесконечный цикл или какая-то другая проблема, и я хочу остановить запуск скрипта.Есть ли клавиатурная команда, которая делает это?

Если это помогает, в Python это Ctrl + c.Я попробовал это в R, и это не сработало:).

Я немного искал этот, казалось бы, простой вопрос, но не смог найти ответ.

Заранее спасибо.

Ответы [ 4 ]

51 голосов
/ 28 марта 2015

Self Answer (в значительной степени краткое изложение комментариев и ответов других):

  • В RStudio, Esc работает на Windows, Mac и Ubuntu (и я бы догадалсяи в других дистрибутивах Linux).

  • Если процесс запускается, скажем, в оболочке ubuntu (и это не R специфично), например, с помощью:

    Rscript my_file.R
    

    Ctrl + c убивает процесс

    Ctrl + z приостанавливает процесс

  • В оболочке R Ctrl + C убийства помогают вам избежать его

14 голосов
/ 03 декабря 2011

Control-C работает, хотя, в зависимости от того, что делает процесс, это может не потребоваться сразу.

Если вы работаете в системе на основе Unix, я просто нажимаю control-z, чтобы вернуться в командную строку и затем выполнить команду kill для идентификатора процесса.

7 голосов
/ 04 декабря 2011

Попробуйте Ctrl + Z Но это убьет процесс, а не приостановит его.

1 голос
/ 17 июля 2018

Я знаю, что это старый, но я столкнулся с той же проблемой.Я на Mac / Ubuntu и переключаюсь туда-сюда.Я обнаружил, что отправка простого сигнала прерывания в основной процесс R делает именно то, что вы ищете.Я запускал сценарии, которые продолжались до 24 часов, и прерывание сигнала работает очень хорошо.Вы должны иметь возможность запустить kill в терминале:

$ kill -2 pid

Вы можете найти pid, запустив

$ps aux | grep exec/R

Не уверен насчет Windows, так как меня там нет, но яне могу себе представить, что в командной строке / диспетчере задач нет возможности сделать это также

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...