wake-up-neo.net

R antwortet nicht auf Anforderung zum Unterbrechen des Stoppvorgangs

Hin und wieder muss ich eine Funktion ausführen, die viel Zeit in Anspruch nimmt und die Verarbeitung unterbrechen muss, bevor sie abgeschlossen ist. Dazu klicke ich oben in der Konsole in Rstudio auf das rote Zeichen "stop", wodurch häufig folgende Meldung angezeigt wird:

R antwortet nicht auf Ihre Anforderung, die Verarbeitung zu unterbrechen. Um den aktuellen Vorgang zu beenden, müssen Sie R möglicherweise vollständig beenden.

Wenn Sie R beenden, wird Ihre R-Sitzung sofort abgebrochen. Aktive Berechnungen werden unterbrochen und nicht gespeicherte Quelldateiänderungen und Arbeitsbereichsobjekte werden verworfen.

Möchten Sie R jetzt beenden?

Das Problem ist, dass ich auf "Nein" klicke und dann scheint Rstudios vollständig einzufrieren. Ich würde gerne wissen, ob andere mit einem ähnlichen Problem konfrontiert sind und ob es einen Weg gibt, dieses Problem zu umgehen.

Gibt es eine Möglichkeit, einen Prozess in Rstudio schnell zu stoppen, ohne die Objekte im Arbeitsbereich zu verlieren?

16
rafa.pereira

Leider kann RStudio R in einigen Situationen nicht unterbrechen:

  1. R führt ein externes Programm aus (z. B. können Sie system("sleep 10") nicht unterbrechen)

  2. R führt beispielsweise einen C/C++ - Bibliotheksaufruf aus, der R keine Möglichkeit bietet, auf Interrupts zu prüfen.

In einem solchen Fall besteht die einzige Möglichkeit darin, den R-Prozess mit Gewalt zu beenden. Dies könnte sich hoffentlich bei einer zukünftigen Iteration von RStudio ändern.

10
Kevin Ushey

Dies kann passieren, wenn R nicht in R arbeitet und einen externen Bibliotheksaufruf aufruft. Die einzige Option ist das Schließen des Projektfensters. Glücklicherweise werden nicht gespeicherte Änderungen einschließlich Objekte beim erneuten Öffnen von RStudio beibehalten. 

0
UDIT GUPTA