Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2945 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Ouvir un terminal sur un /dev/pts bien precis

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ouvir un terminal sur un /dev/pts bien precis

n°1082963
The Dml
pouet.. pouet ...
Posté le 20-10-2008 à 13:07:10  profilanswer
 

Salut :)  !
 
Dans le cadre d'un projet en C il me faudrai envoyer des infos dans un terminal (une sortie /dev/pts/X).
Mais, y a t'il un moyen d'ouvrir un terminal avec une sortie bien definie ? (genre /dev/pts/3)
 
Merci.

mood
Publicité
Posté le 20-10-2008 à 13:07:10  profilanswer
 

n°1083012
matafan
Posté le 20-10-2008 à 15:08:43  profilanswer
 

Ben oui, tu fais open("/dev/pts/3", O_WRONLY) ...

n°1083039
The Dml
pouet.. pouet ...
Posté le 20-10-2008 à 15:45:34  profilanswer
 

En fait j'arrive bien a écrire dans mon pts.
Mon soucis c'est de lancer un terminal avec un /dev/pts/X particulier.
 
En gros c'est pour me permettre d'ouvrir une console et d'écrire dedans avec mon programme.
Si je met en dur /dev/pts/3 je suis pas sur que ma console ouverte soit bien associé a /dev/pts/3 .
 
Je suis clair :D ?

n°1083314
The Dml
pouet.. pouet ...
Posté le 21-10-2008 à 16:48:56  profilanswer
 

UP :D

n°1083346
ory
Posté le 21-10-2008 à 19:08:25  profilanswer
 

stty -F /dev/pts/1 ?

n°1083372
czh
Posté le 21-10-2008 à 23:33:33  profilanswer
 

Sur ma debian :
 
[23:29:13] $ ps
  PID TTY          TIME CMD
 7615 pts/1    00:00:00 bash
 7695 pts/1    00:00:00 ps
 
Bonus :
 
[23:35:17] $ ls -l /proc/7615/fd/
total 0
lrwx------ 1 christophe christophe 64 oct 21 23:28 0 -> /dev/pts/1
lrwx------ 1 christophe christophe 64 oct 21 23:35 1 -> /dev/pts/1
lrwx------ 1 christophe christophe 64 oct 21 23:32 2 -> /dev/pts/1
lrwx------ 1 christophe christophe 64 oct 21 23:35 255 -> /dev/pts/1


Message édité par czh le 21-10-2008 à 23:36:15
n°1083413
matafan
Posté le 22-10-2008 à 09:49:38  profilanswer
 

Ouais c'est une bonne idée ça : tu ouvres /proc/PID/fd/0 au lieu d'ouvrir /dev/pts/?

n°1083421
The Dml
pouet.. pouet ...
Posté le 22-10-2008 à 10:09:52  profilanswer
 

J'ai pas trop compris votre solution là :/.
Mais en gros j'ai résolut le problème (bon c'est trivial).
Je lance un terminal dans mon programme c avec un appel system() en luis redirigeant son tty dans un fichier.

Citation :

system("xterm -e 'tty > ./tty'" );


 
Ensuite je lit ce fichier et ecrit dans le tty correspondant.
Si vous avez mieux je prend :)

n°1083504
czh
Posté le 22-10-2008 à 12:20:11  profilanswer
 

The Dml a écrit :

J'ai pas trop compris votre solution là :/.


En fait toutes les commandes comme ps, w, et tty utilise à la base /proc/, il est donc possible de recoder toutes ces commandes en se basant uniquement sur /proc/. Sachant que toutes les informations sur les processus et les flux gérés par le noyau sont /proc/, la solution s'y trouve forcément.
Ce n'est bien sûr pas un encouragement à réinventer la roue mais simplement à but de compréhension, enfin si ça peut servir...
 

The Dml a écrit :


Mais en gros j'ai résolut le problème (bon c'est trivial).
Je lance un terminal dans mon programme c avec un appel system() en luis redirigeant son tty dans un fichier.

Citation :

system("xterm -e 'tty > ./tty'" );


 
Ensuite je lit ce fichier et ecrit dans le tty correspondant.
Si vous avez mieux je prend :)


 
Par-contre, j'ai du mal à comprendre à quoi peut te servir un flux qui n'existe plus, je m'explique :
quand on fait appel à la commande xterm, il y a initialisation d'un nouveau /dev/pts/x autre que celui utilisé indirectement par le programme exécuté (exécutable C en l'occurence ici).
 
Par exemple, si tu fais system("xterm -e 'tty > ./tty; sleep 100;'" ); ce qui a pour effet de laisser le xterm vivre assez longtemps pour bricoler avec
et dans une autre console, même répertoire : cat > `cat tty`.
 
Autre exemple (entièrement bash) :
xterm -e 'tty > ./tty; sleep 50'&
echo > `cat tty`
cat > `cat tty`
 
 
En bref, juste après ton system("xterm -e 'tty > ./tty'" );, le truc que tu récupères n'est plus utilisé par aucune console.
 
edit : et dans ce cas est plus cohérent un :

Citation :

system("tty > ./tty" );


Message édité par czh le 22-10-2008 à 13:58:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Ouvir un terminal sur un /dev/pts bien precis

 

Sujets relatifs
Log session windows (serveur terminal Win 2003) sur serveur web linux[Résolu] Comment savoir si on m'a bien installé un Ubuntu 64bits ?
[cherche] portable légé et bien supporté[RESOLU]OpenVPN fonctionne bien sauf que...
Password manager en php, java ou bien cgiWebcam qui marche bien sous linux
I Mac Terminal pour acces distance a sshd APPLETerminal X : impossible de booter...
Fresh Install Kubuntu / Toujours pas de ALSA, OSS okChanger les couleurs du terminal sous mac os x Léopard?
Plus de sujets relatifs à : Ouvir un terminal sur un /dev/pts bien precis


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR