2012-02-18 8 views

Respuesta

32

He tenido el problema que mencionas. ctrl+c funcionará cuando R sea capaz de darse cuenta "oh, este tipo quiere que deje de ejecutar ese comando en particular". Sin embargo, a menudo R no puede hacer eso. Por lo tanto, debe ejecutar ctrl+\ (tenga en cuenta que es una barra invertida, no una barra diagonal). Esto dice linux "hey, R no me está escuchando, ¿puede dejar de ejecutar R?".

Pruebe ctrl+c primero porque si funciona todavía tendrá su sesión R. Si no funciona, y lo hace ctrl+\, perderá su sesión R, pero al menos detendrá el proceso.

Si eso tampoco funciona, entonces sugeriría un killall R o un kill -9 [PID] donde encuentre el PID ejecutando pus aux.

+5

Cuando Ctrl + C no funciona, por lo general es debido a que ha llamado una función que se llama código que no comprobar si hay interrupción de usuario compilado. Generalmente se trata de paquetes suministrados por el usuario, no de paquetes R básicos/recomendados. –

+0

Gracias por la respuesta, aunque estaba buscando una solución que pueda mantener viva la sesión de R. – danioyuan

+0

@danioyuan, según lo que deduzco del comentario de Joshua, puede que no sea posible con algunas de las funciones a las que llama; son libres de ignorar las interrupciones del usuario. – Richard

6

También puede intentar kill -USR1 [pid]

Esto interrumpirá algunas llamadas R y, a veces le dará la opción de guardar y salir en lugar de matar el proceso todos juntos.

10

intenta utilizar ctrl + c, a continuación, hacer una pausa en R con ctrl + z, y luego salir de la pausa R con fg (#job)

probé las soluciones dadas anteriormente con el envío de algunas señales a R con matanza, pero tampoco trabajó. Luego probé la secuencia anterior (ctrl + c; ctrl + z, fg 1) y funcionó. Podría continuar la sesión R. No estoy seguro de si fue una de las señales o ctrl + c que detuvo a R, pero creo que ctrl + z era esencial aquí.

3

ctrl + c no funciona. De alguna manera ctrl + \ detendrá el proceso. Pero hay una reducción en la programación para renunciar. Puedes probar q() en RPEL, funcionó para mí.

q()

Cuestiones relacionadas