2011-12-03 17 views
59

Qualcuno può dire come posso interrompere uno script in esecuzione in R?Come posso interrompere un codice in esecuzione in R con un comando da tastiera?

Diciamo che ho un ciclo infinito o qualche altro problema e voglio interrompere l'esecuzione dello script. C'è un comando da tastiera che lo fa?

Se è utile, in Python è Ctrl + c. L'ho provato in R, e non ha funzionato :).

Ho fatto qualche ricerca per questa domanda apparentemente semplice, ma non ho trovato la risposta.

Grazie in anticipo.

+3

In Rgui, se la console R ha lo stato attivo, quindi ESC o Alt-M [Invio] o facendo clic sull'ottagono rosso stop interromperà il calcolo accurato – Henry

+1

Penso che dipenda anche da quale sistema operativo stai usando (Wondows, Mac OS, Linux) e come stai eseguendo il tuo script R (da R gui, Emacs, ...). –

+6

ESC funziona anche in R Studio (quando si esegue Windows, almeno). –

risposta

13

Control-C funziona, anche se a seconda di cosa sta facendo il processo, potrebbe non essere necessario.

Se si è su un sistema basato su Unix, una cosa che faccio è control-z per tornare al prompt della riga di comando e quindi rilasciare un 'kill' all'ID di processo.

6

Prova Ctrl + z Ma ucciderà il processo, non lo sospenderà.

+1

Ho provato Ctrl + z, ma non funziona neanche. Sono su Windows, btw. Grazie però. – Akavall

42

Auto Risposta (praticamente sintesi di di altri commenti e le risposte):

  • In RStudio, Esc lavori, su Windows, Mac e Ubuntu (e direi su altre distribuzioni Linux pure).

  • Se il processo è eseguito in guscio ubuntu dire (e questo non R è specifico), ad esempio utilizzando:

    Rscript my_file.R 
    

    Ctrl + c uccide il processo

    Ctrl + z sospende il processo

  • All'interno della shell R, le uccisioni Ctrl + C ti aiutano a fuggire da essa

+1

Esc funziona anche su Mac OS X. – algarecu

+3

Sfortunatamente, in RStudio, 'Esc' non può interrompere i processi che richiedono molta memoria. – Orion

Problemi correlati