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

C Discussion :

Ouverture d'un terminal tty a partir d'un programme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Homme Profil pro
    Ingénieur logiciel embarqué
    Inscrit en
    Juillet 2002
    Messages
    407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur logiciel embarqué
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2002
    Messages : 407
    Par défaut Ouverture d'un terminal tty a partir d'un programme
    bonjour,

    J'essais de demarrer un terminal unix (dtterm) a partir d'un programme c. Pour cela, j'utilisais: system("dtterm&");

    Malheuresement, cet appel ne me permet pas de recuperer proprement le tty du terminal que je vien de demarrer (dont j'ai besoin pour ne pas le perdre dans la nature).

    Est il possible de le faire, eventuelement d'une autre maniere, ou par l'intermediere d'une autre fonction?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    je ne sais pas mais tu peux faire :

    avant de lancer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system ( "ps -ef > toto");
    puis ton

    puis un

    et comparer titi et toto pour savoir son id


    Ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    system("dtterm&");
    system("ps -ef | grep TONPID > toto");
    (où TONPID et le pid de ton process (getpid()) )

    et analyser toto avoir son pid.

  3. #3
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Au passage un équivalent à est (sous condition de disponibilité de la commande sur ton os)

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    oui d'ailleurs j'avais oublié de dire que dans le cas cité ton ddterm est fils de ton process, et donc dans la liste donnée pas ps -ef le pid de ton process sera listé dans la colonne "pid parent" de ton dtterm (d'où le grep)

  5. #5
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Est-ce que faire un mini programme qui appelle getpid() dans le terminal
    lancé et rediriger sa sortie dans un fifo ne serait pas plus sûr ??

    Car si un autre processus est lancé entre temps, la comparaison entre les 2 ps ne sera pas éfficace, car il y aura plus d'un choix.

    Qu'en pensez-vous ?

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par je®ome
    Est-ce que faire un mini programme qui appelle getpid() dans le terminal
    lancé et rediriger sa sortie dans un fifo ne serait pas plus sûr ??

    Car si un autre processus est lancé entre temps, la comparaison entre les 2 ps ne sera pas éfficace, car il y aura plus d'un choix.

    Qu'en pensez-vous ?
    Pour la différence entre les 2 peut-être.

    Mais d'une part on peut séquencer le tout dans un seul appel à système, auquel cas ça vaut pas le coup

    Mais surtout si on prend la dernière solution, le pid du parent séléctionne automatiquement le bon... (enfin les N bonnes lignes : celle du parent et celles de tous ses enfants. Et en rajoutant un grep avec le dtterm, tu as juste la bonne...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouverture d'une zone de texte à partir d'une autre
    Par stefsas dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/04/2010, 13h25
  2. Ouverture d'une zone de texte à partir d'une autre
    Par stefsas dans le forum ASP.NET
    Réponses: 1
    Dernier message: 16/04/2010, 11h46
  3. [Toutes versions] Ouverture et filtrage d'un formulaire à partir d'un sous-formulaire
    Par Mat08 dans le forum IHM
    Réponses: 5
    Dernier message: 21/02/2010, 20h46
  4. Aide ouverture et remplissage de doc word à partir d'excel / prog en VBA
    Par Olivette dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/11/2009, 05h19
  5. Réponses: 6
    Dernier message: 17/04/2007, 15h34

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