J'ai un processus qui est en cours d'exécution (arserverd) qui a été démarré par l'utilisateur "remedier". Je suis capable de me connecter en tant que cet utilisateur. Je voudrais capturer stderr et stdout sans redémarrer le processus. Est-ce possible?capture stderr et stdout d'un processus déjà en cours dans solaris
Répondre
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).
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.
- 1. python: lancer un processus avec temporisation et stdout de capture, stderr et état de sortie
- 2. ABAP Stdout et Stderr
- 3. lancer l'application, capturer stdout et stderr en C++
- 4. stderr à stdout
- 5. capture stderr à partir de python subprocess.Popen (commande, stderr = subprocess.PIPE, stdout = subprocess.PIPE)
- 6. capture stderr d'un proc_open() sur les fenêtres
- 7. Intercepter stdout d'un sous-processus en cours d'exécution
- 8. Démarrage d'un processus avec stdin/stdout/stderr hérité en Java 6
- 9. Redirection de la sortie de stdout et de stderr?
- 10. Sous Windows, comment créer un processus fils et capturer stdin, stdout et stderr sans dupliquer les poignées héritables?
- 11. La détection d'un processus est déjà en cours d'exécution dans Windows à l'aide de C# .net
- 12. Cron envoyer un e-mail avec STDERR mais pas STDOUT?
- 13. Liste des processus en cours d'exécution
- 14. Sous-processus Python - Rediriger stdout/err à deux endroits
- 15. Obtenir le processus en cours donné handle de processus
- 16. 'app --help' devrait aller à stdout ou stderr?
- 17. Comment puis-je supprimer la sortie sur stdout et stderr dans Log4perl?
- 18. Lecture continue de STDOUT du processus externe dans Ruby
- 19. Comment puis-je savoir si un processus est déjà en cours d'exécution avec C#?
- 20. MPI: Verrouiller le stdout - 1 processus à la fois?
- 21. Obtenir stdout et stderr à partir de l'outil jar fourni pour OSX
- 22. Injecter un hôte CLR dans un processus en cours - possible?
- 23. processus en cours d'exécution, étape par étape
- 24. linux g ++ compilateur redirect stderr et stdout crée un fichier vide
- 25. Est-ce que `xargs -t` sort stderr ou stdout, et pouvez-vous le contrôler?
- 26. Capture d'écran de la page en cours en utilisant PHP
- 27. Débogage d'un processus python en cours d'exécution
- 28. Erreur lors de la redirection de stdout et stderr du script powershell
- 29. Comment rediriger la sortie stdout et stderr d'un script Perl vers un fichier sous Windows?
- 30. C#: trouver le processus en cours