Si je démarre une application avec cette commande:
/path/to/my/command >> /var/log/command.log
Et la commande ne revient pas, existe-t-il un moyen, à partir d'une autre invite, de voir à quoi la redirection STDOUT est définie?
Je cherche quelque chose comme
cat /proc/PID/redirects
ou
ps -??? | grep PID
mais n'importe quelle méthode fera l'affaire.
shell
io-redirection
open-files
Riches
la source
la source
Un outil utile pour voir quels fichiers sont ouverts par quels processus
lsof
. Vous pouvez le diriger vers un processus spécifique aveclsof -p1234
, et vous verrez principalement les mêmes informations que vous pouvez obtenir avecls -l /proc/1234/fd
Linux, c'est-à-dire quels fichiers sont ouverts.La chose la plus utile avec
lsof
va dans l'autre sens:lsof /path/to/file
vous indique quels processus utilisent ce fichier.la source
Beaucoup de réponses mentionnent le faire de cette façon:
Cependant, j'ai trouvé que cela ne fonctionne pas toujours. Alternativement, le
cat
parfois donne des résultats.où {PID} peut être recherché à l'aide de la
ps aux
commande.Il est également bon de mentionner que le nombre à la fin de la commande (dans ce cas fd / 1) peut être modifié pour d'autres sorties.
la source