IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

[linux] Récupérer dans R l'id d'un job lancé avec system


Sujet :

R

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Points : 888
    Points
    888
    Par défaut [linux] Récupérer dans R l'id d'un job lancé avec system
    Bonjour,

    J'ai un script R qui créé des jobs d'un logiciel avec la fonctions system.

    J'utilise se symbole "&" à la fin de la ligne de commande pour faire tourner ce job en arrière plan.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("sleep 5 &") #sleep pour l'exemple
    J'aimerais récupérer l'id du job, notamment pour pouvoir l'arrêter (kill).

    La variable linux $! contient ce que je veux, mais je n'arrive pas à la récupérer sous R.

    J'ai essayé diverses choses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    jobId = system("sleep 5 & echo $!",intern=TRUE) #attends la fin du job donc inutile
     
    ###
     
    system("sleep 5 &")
    system("echo $!")#ne marche pas
     
    ###
     
    jobId = capture.output(system("sleep 5 & echo $!")) #l'id est bien affiché dans la console R mais pas capturé (étrange)
    Quelqu'un aurait une idée?

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Points : 888
    Points
    888
    Par défaut
    Je m'en suis sorti en passant par un fichier temporaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    system("sleep 5 & echo $! > tmp")
    jobId = as.numeric(readLines("tmp"))
    file.remove("tmp")
    Mais si quelqu'un a une solution plus propre je suis preneur.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/04/2014, 14h27
  2. champs à récupérer dans outlook
    Par jeremypic dans le forum Access
    Réponses: 2
    Dernier message: 09/12/2005, 10h16
  3. Réponses: 3
    Dernier message: 08/12/2005, 02h42
  4. Réponses: 10
    Dernier message: 06/10/2005, 22h25
  5. Réponses: 5
    Dernier message: 13/08/2004, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo