[processus] récupérer les entrées sorties

Fermé
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 - 3 oct. 2003 à 23:17
 Moussakaz - 27 août 2007 à 03:12
Slt tout le monde ! :)

Une tite question : est ce que qqn sait comment faire pour se brancher sur la sortie std (erreur ou normale) d'un procesus ?

Bien sur, je suppute qu'il faut au moins posséder celui-ci ou être root...

Je pense à une fonction du genre dup() ... Mais je ne vois pas comment l'utiliser sur un processus déjà lancé.

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?

4 réponses

coppernix Messages postés 63 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 18 septembre 2004 4
4 oct. 2003 à 00:29
Salut,
Pour se brancher sur la sortie d'un processus, il suffit que celui-ci soit lancé avec les redirections.
"> fichier" pour la sortie standard
"2> fichier" pour la sortie erreur
exemple : processus >/tmp/std.txt 2>/tmp/err.txt
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114
4 oct. 2003 à 00:35
Désolé, ma question n'était pas assez claire : je veux récupérer cette sortie après l'avoir lancé :-) Ce qui est bien entendu plus compliqué...

En gros, je voudrais pouvoir récupérer les affichages envoyés sur stderr de n'importe quel processus en cours (listé avec ps aux)... Depuis en général un autre terminal que celui sur lequel a été lancé le programme.

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114
4 oct. 2003 à 18:54
Ok, c bon j'ai trouvé : dans /proc/<pid>/fd

Ya tous les desripteurs de fichiers ouverts :)

Donc c très simple, genre si je veux voir la sortie erreur du processus 1243, je fais

tail -f /proc/1243/fd/2

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?
0
asevere Messages postés 13089 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 425
5 oct. 2003 à 02:12
J'allais le dire! :-)

C'est marrant ça... je connais pas mal le system de fichier /proc/, mais quand j'ai lu ta question hier ca ne m'as pas effleuré une seule seconde d'aller jeter un oeil dedans :-(
Va falloir que je me replonge dedans à nouveau!

@++

"Si c'est stupide et que ça marche,
        alors ce n'est pas stupide"
0
Salut salut, dans la même veine, une question... Y'a-t-il moyen de se brancher sur la sortie d'un shell ?
Exemple :
J'ai ma machine devant les yeux, je lance sur le TTY1 un script qui va mouliner pendant 3 H, faire des includes dans tous les sens et executer plein de trucs et de machins (donc, difficile de suivre les processus)...

Si je coupe l'écran... Comment pourrais-je récupérer la sortie du shell en cours depuis un accès SSH ?

(c'est peut être pas super clair comme question, je ne suis pas sûr d'employer les bons termes... Mais si vous avez compris l'idée, la solution m'intéresse beaucoup).
0