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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  récupérer console d'un programme en arrière plan

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

récupérer console d'un programme en arrière plan

n°1329648
xilebo
noone
Posté le 30-01-2013 à 10:06:59  profilanswer
 

Bonjour,
 
J'ai un programme qui démarre automatiquement au démarrage de la machine , du coup je n'ai pas les logs de la sortie standard ( normal ). Par contre, si je quitte mon programme et que je le relance à partir d'une console, à ce moment là, j'ai les logs ( normal aussi ).
 
Je cherche à savoir s'il est possible de rediriger sur la console courante la sortie standard d'un exécutable en cours d'exécution, et comment faire dans ce cas ?
 
 
Merci d'avance  :jap:

mood
Publicité
Posté le 30-01-2013 à 10:06:59  profilanswer
 

n°1329649
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 30-01-2013 à 10:54:46  profilanswer
 

un daemon ferme ses FDs, donc non.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1329653
kisscoolz
Posté le 30-01-2013 à 11:34:17  profilanswer
 

Ton programme il écrit pas dans un fichier de logs des fois ?


---------------
http://lacabanedeladmin.trickip.net/
n°1329673
xilebo
noone
Posté le 30-01-2013 à 19:12:59  profilanswer
 

en production, il n'écrit pas de log non car on est sur un système embarqué, et les  écritures flash ne sont pas recommandées.
 
Il s'agit d'une application que j'ai écrit donc j'en ai la maitrise, mais si je suis en mesure de rajouter de nouvelles fonctionnalités ( comme les logs sur UDP ), les versions déjà en productions n'ont pas cette fonction, et parfois pour faire du diagnostic, j'ai besoin de récupérer les logs d'une application déjà en cours de démarrage ( j'ai besoin de ne pas quitter l'application pour ne pas réinitialiser tout ).
 
L'application n'est pas un démon ( pas d'appel à daemonize() ) donc les descripteurs de fichiers ne sont pas fermés, d'ailleurs, comme je l'explique plus haut, les logs par défaut sont sur la sortie standard, que je peux récupérer si je lance l'exécutable à partir d'une console.
 
D'ailleurs, si l'application est lancée au démarrage, si je fais un ps aux, dans la colonne tty j'ai un "?". Si par contre je relance l'application  à partir d'une console ( ex une session ssh ), dans cette même colonne, je vois pts/0.
 

n°1329709
Nukolau
Posté le 31-01-2013 à 09:48:16  profilanswer
 

Je pense qu'il faudrait que tu regardes du côté des pipe. La primitive pipe() te permet de créer un canal de communication directement en mémoire.  
L'idée serait qu'au boot tu redirige la sortie de ton programme dans ce pipe nommé, et qu'au besoin, depuis un autre terminal tu lise ce pipe.
 
Maintenant ce que je ne sais pas, c'est si aucune lecture n'est présente sur le pipe ce qu'il se passe, honnêtement je ne maîtrise pas bien ces procédés que j'utilise rarement (j'utilises plus régulièrement des fifo, mais la ca fait une entrée de le système de fichier, ce qui ne semble as compatible avec ce que tu indiques).

n°1329718
xilebo
noone
Posté le 31-01-2013 à 11:09:22  profilanswer
 

je ne peux pas écrire de code, je souhaite le faire sur un programme existant et en cours d'exécution.
 
J'ai trouvé l'astuce suivante, mais ce n'est pas parfait :  
 
 
cat /proc/XXXX/fd/1 > /dev/pts/0 , cela redirige la sortie standard du processus XXXX sur la console voulue. Le problème est qu'il attend au moins un retour chariot avant de commencer à afficher, et il affiche chaque ligne sur la même ligne.
 
Il faut que je peaufine ca, ou que je trouve une commande système permettant de faire ça.


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

  récupérer console d'un programme en arrière plan

 

Sujets relatifs
Linux Virtualbox crash recover récupérer VM Virtual Machine vdi vhdmandriva et la console
Debian recuperer un disque crypter[Open Source] application full web type plan d'action
Lancer un X et un programme sur l'écran d'un serveur en SSHScript Bash pour récuperer seulement l'adresse IP
Comment récupérer mon site wordpresseviter de rentrer les informations que demande la console
Récupérer ses variables environmts de son user (.chrsc) avec FTPpartition miroir du système pour récupérer un système stable (résolu)
Plus de sujets relatifs à : récupérer console d'un programme en arrière plan


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