Если я запускаю приложение с этой командой:
/path/to/my/command >> /var/log/command.log
И команда не возвращается, есть ли способ из другого приглашения посмотреть, на что установлен перенаправление STDOUT?
Я ищу что-то вроде
cat /proc/PID/redirects
или
ps -??? | grep PID
но любой метод подойдет.
shell
io-redirection
open-files
Богатый
источник
источник
Полезный инструмент, чтобы увидеть, какие файлы открываются какими процессами
lsof
. Вы можете указать на определенный процессlsof -p1234
, и вы увидите в основном ту же информацию, что иls -l /proc/1234/fd
в Linux, то есть, какие файлы открыты.Самая полезная вещь
lsof
- это наоборот:lsof /path/to/file
рассказывает, какие процессы используют этот файл.источник
Во многих ответах упоминается, что вы делаете это следующим образом:
Однако я обнаружил, что это не всегда работает. Кроме того,
cat
иногда дает результаты.где {PID} можно посмотреть с помощью
ps aux
команды.Также стоит упомянуть, что число в конце команды (в данном случае fd / 1) можно изменить для других выходов.
источник