2009-10-08 5 views

Répondre

0

Je ne pense pas mais vous pouvez essayer de lire /proc/PID/fd/1 pour stdout et /proc/PID/fd/2 pour stderr (remplacer PID avec le PID du processus).

4

Si le processus est déjà en cours d'exécution, vous pouvez utiliser la commande truss pour intercepter écrit le descripteur de fichier 1 ou 2:

truss -w 1,2 -p pid_of_arserverd 

Truss seront les lignes de sortie comme

write(1, " m e s s a g e\n", 8)      = 8 

Truss est spécifique à Solaris. Sur les systèmes Linux, recherchez plutôt strace. Truss va ralentir le processus que vous trimbalez un peu, donc ce n'est pas quelque chose que vous voudriez utiliser tout le temps. Si vous cherchez une solution permanente, votre meilleur pari est probablement de rediriger stdout et stderr vers un fichier lors du lancement du programme. Vous pouvez tronquer régulièrement le fichier pour que sa taille soit gérable. Une alternative consiste à exécuter le programme dans une session screen à laquelle vous pouvez vous reconnecter lorsque vous souhaitez interagir avec le programme.

Questions connexes