web-dev-qa-db-fra.com

R demande de ne pas répondre pour interrompre le processus d'arrêt

De temps en temps, je dois exécuter une fonction qui prend beaucoup de temps et interrompre le traitement avant la fin. Pour ce faire, je clique sur le signe rouge «stop» en haut de la console dans Rstudio, qui renvoie assez souvent le message ci-dessous:

R ne répond pas à votre demande d'interruption du traitement. Pour arrêter l'opération en cours, vous devrez peut-être arrêter R complètement.

Si vous arrêtez R, votre session R sera immédiatement abandonnée. Les calculs actifs seront interrompus et les modifications du fichier source non enregistrées et les objets de l'espace de travail seront ignorés.

Voulez-vous terminer R maintenant?

Le problème est que je clique sur "Non" et que Rstudios semble se figer complètement. J'aimerais savoir si d'autres personnes font face à un problème similaire et s'il existe un moyen de contourner ce problème.

Est-il possible d'arrêter un processus dans Rstudio rapidement sans perdre les objets dans l'espace de travail?

16
rafa.pereira

Malheureusement, RStudio n'est actuellement pas en mesure d'interrompre R dans quelques situations:

  1. R exécute un programme externe (par exemple, vous ne pouvez pas interrompre system("sleep 10")),

  2. R exécute (par exemple) un appel de bibliothèque C/C++ qui ne fournit pas à R une opportunité de vérifier les interruptions.

Dans un tel cas, la seule option est de tuer de force le processus R - espérons que cela puisse changer dans une prochaine itération de RStudio.

10
Kevin Ushey

Cela peut se produire lorsque R ne fonctionne pas dans R et appelle un appel de bibliothèque externe. La seule option est de fermer la fenêtre du projet. Heureusement, les modifications non enregistrées, y compris les objets, sont conservées lors de l’ouverture de RStudio. 

0
UDIT GUPTA