Forum Linux.débutant récupérer sortie standard après lancement commande

Posté par . Licence CC by-sa
Tags : aucun
1
30
oct.
2014

bonjour,
est-il possible de récupérer la sortie standard, après avoir lancé la commande ?
je sais qu'il est possible de rediriger cette sortie au moment de l'exécution, mais après coup ?
voici le contexte :
je possède un NAS (dlink dns-323) qui tourne sous linux ;
un disque pose pb, j'ai donc lancé hier soir via telnet un fsck, mais sans rediriger la sortie vers un fichier (je sais, j'aurais du …) ;
lancé en mode verbeux, j'ai pu constaté que de nombreux secteurs étaient HS, et comme il passait environ 45s sur chacun, je suis allé me couché, après avoir éteint mon PC ;
ce matin, le fsck tourne toujours (dixit la commande ps), mais j'aimerais savoir où il en est :
y a-t-il une solution ?
(à part bien sur tuer le process et le relancer avec une redirection)
merci d'avance

  • # reptyr ou retty

    Posté par . Évalué à 2.

    Tu devrais peut-être pouvoir t'en sortir avec reptyr ou retty, je te laisse aller voir les pages de manuel de ces 2 outils pour plus d'infos.

  • # Soluce

    Posté par . Évalué à 3. Dernière modification le 30/10/14 à 10:43.

    stackoverflow pointe vers l'article suivant : Redirecting output from a running process

    La technique suit. Déterminer quels fichiers ce process a ouverts en listant /proc/PID/fd/, choisir dans la liste celui qui correspond à la sortie textuelle. Mettons que c'est /proc/31838/fd/1 (le fichier 1 pointe vers /dev/pts/XXX). Exécuter gdb -p 31838 /sbin/fsck

    Dans gdb:

    (gdb) p close(1)
    $1 = 0
    (gdb) p creat("/tmp/fichier", 0600)
    $2 = 1
    (gdb) q
    A debugging session is active.
    
        Inferior 1 [process 31838] will be detached.
    
    Quit anyway? (y or n) y
    

    Cette technique est automatisée par le petit utilitaire dupx.

    • [^] # Re: Soluce

      Posté par . Évalué à 1.

      merci beaucoup à vous deux, je vais essayer ça dès mon retour à la maison

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.