Как остановить запущенную команду R в linux, отличную от ctrl + c?
Я запускаю R в интерактивном режиме под Linux и ошибочно набираю команду, которая навсегда запускается. Обычно я останавливаю его с помощью ctrl + c. Но это не работает все время. Когда это не сработает, есть ли другой способ? Я не хочу убивать сеанс R для начала.
Спасибо.
Ответы
Ответ 1
У меня была проблема, которую вы упомянули. ctrl+c
будет работать, когда R
сможет реализовать "о, этот парень хочет, чтобы я прекратил выполнение этой конкретной команды". Однако часто R
не может этого сделать. Поэтому вам нужно запустить ctrl+\
(обратите внимание, что это обратная косая черта не косая черта). Это говорит linux
"эй, R
не слушает меня, можете ли вы остановить запуск R
?".
Попробуйте ctrl+c
, потому что, если он работает, у вас все равно будет сеанс R
. Если он не работает, и вы ctrl+\
, вы потеряете сессию R
, но по крайней мере остановите процесс.
Если это не сработает, тогда я предлагаю killall R
или kill -9 [PID]
, где вы найдете PID, запустив pus aux
.
Ответ 2
Попробуйте использовать ctrl + c, затем приостановите R с помощью ctrl + z, а затем отключите R с помощью fg (#job)
Я попробовал приведенные выше решения с отправкой некоторых сигналов в R с kill, но не работал. Затем я попробовал последовательность выше (ctrl + c; ctrl + z, fg 1), и она сработала. Я мог бы продолжить сеанс R.
Я не уверен, был ли это один из сигналов или ctrl + c, который остановил R, но я думаю, что ctrl + z здесь имеет важное значение.
Ответ 3
Вы также можете попробовать
kill -USR1 [pid]
Это прерывает некоторые R-вызовы, а иногда дает вам возможность сохранять и прекращать убийство процесса вместе.
Ответ 4
ctrl + c не работает. Как-то ctrl +\остановит процесс. Но есть необходимость в программировании r для выхода. Вы можете попробовать q() на RPEL, работая для меня.
д()