variable d'environnement

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

herve chapuis
Messages : 110
Enregistré le : 05 Déc 2008, 15:26

variable d'environnement

Messagepar herve chapuis » 14 Juil 2017, 10:10

Bonjour

Dans le cadre de simulations, je créée une population que j'analyse ensuite.
Pour certains modèles, il existe un package R adpaté (il s'agit d'asreml, qui est payant...). Pour d'autres, je suis obligé d'utiliser la version "stand-alone" (autrement dit externe à R) de asreml.

Quand je suis en interactif, ça le fait plutôt pas mal. Dans la console je vois défiler les calculs, qu'ils proviennent de l'exécution du package R ou du programme externe.
je tape

Code : Tout sélectionner

source("40peresdensite35MUL2lot.R")
et ça défile.
Cela fonctionne aussi en Rstudio, quand je sélectionne l'ensemble et je soumets.

Mais avec un nombre important de réplications je veux le lancer en batch.
Et si je tape

Code : Tout sélectionner

R CMD BATCH 40peresdensite35MUL2lot.R
ça se gâte :
j'ai le message

Code : Tout sélectionner

ASReml 4.10 [28 Dec 201]   lr [18 Mar 2015]     14 Jul 2017    11:10:36
 Abnormal exit (code 9) : Cannot open X display. Check DISPLAY environment variable. 
   

Et le programme se poursuit en "skippant" tous les appels au programme externe. Mais ce n'est pas ce que je veux.

A votre avis, cette variable "DISPLAY" peut-elle être modifié par un utilisateur lambda ? Ou faut-il mettre dans la boucle l'administrateur du réseau et des serveurs ? Je précise que ces calculs ne sont pas sur mon PC mais sur un serveur de calculs distant et partagé.
Merci
Ingénieur de recherche INRAE Toulouse

herve chapuis
Messages : 110
Enregistré le : 05 Déc 2008, 15:26

Re: variable d'environnement

Messagepar herve chapuis » 16 Juil 2017, 17:30

J'ai oublié de préciser que l'appel à un programme externe se fait avec l'instruction "system()", en l'occurrence

Code : Tout sélectionner

system("asreml MYPROG.as", wait=T)


J'ai essayé avec system2(), en pensant que je pourrais diriger l'output non vers la console mais dans un fichier "log". Mais ça n'a rien donné. :(
Ingénieur de recherche INRAE Toulouse

herve chapuis
Messages : 110
Enregistré le : 05 Déc 2008, 15:26

Re: variable d'environnement

Messagepar herve chapuis » 17 Juil 2017, 11:09

Bon... la solution est venue en discutant avec des collègues déjà confrontés au problème.

Bizarrement ce matin l'instruction R CMD BATCH ne posait pas de soucis (j'avais du me planter durant les tests) et c'était en le mettant en file d'attente que le problème persistait. Et ma collègue m'a donné l'instruction idoine.
Ingénieur de recherche INRAE Toulouse


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité