Как остановить запущенную команду R в Linux, кроме Ctrl + C? - PullRequest
36 голосов
/ 18 февраля 2012

Я запускаю R в интерактивном режиме под Linux и по ошибке ввел команду, которая запускается вечно.Я обычно прекращаю это, используя Ctrl + C.Но это не работает все время.Когда это не работает, есть ли другой способ?Я не хочу, чтобы сеанс R также начинался заново.

Спасибо.

Ответы [ 4 ]

37 голосов
/ 18 февраля 2012

У меня была проблема, которую вы упомянули. ctrl+c сработает, когда R сможет понять, "о, этот парень хочет, чтобы я прекратил выполнение этой конкретной команды". Однако часто R не может этого сделать. Таким образом, вы должны запустить ctrl+\ (обратите внимание, что это обратная косая черта, а не прямая косая черта). Это говорит linux «эй, R не слушает меня, вы можете прекратить работать R?».

Сначала попробуйте ctrl+c, потому что если это сработает, у вас все равно будет сеанс R. Если это не сработает, и вы выполните ctrl+\, вы потеряете сеанс R, но по крайней мере остановите процесс.

Если это не сработает, то я бы предложил killall R или kill -9 [PID], где вы найдете PID, набрав pus aux.

10 голосов
/ 04 декабря 2012

Попробуйте использовать ctrl + c, затем приостановите R с помощью ctrl + z, а затем отмените паузу R с помощью fg (#job)

Я попробовал решения, приведенные выше, с отправкой некоторых сигналов R с помощью kill, но ни один из них не сработал. Затем я попробовал приведенную выше последовательность (Ctrl + C; Ctrl + Z, FG 1), и это сработало. Я мог бы продолжить сессию R. Я не уверен, был ли это один из сигналов или ctrl + c, который остановил R, но я думаю, что здесь были необходимы ctrl + z.

6 голосов
/ 07 сентября 2012

Вы также можете попробовать kill -USR1 [pid]

Это прервет некоторые вызовы R и иногда даст вам возможность сохранить и выйти, а не убивать процесс все вместе.

3 голосов
/ 05 января 2016

Ctrl + C не работает.Каким-то образом Ctrl + \ остановит процесс.Но в программировании r есть функция, чтобы бросить курить.Вы можете попробовать q () на RPEL, у меня сработало.

q ()

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