Jeśli uruchomię aplikację za pomocą tego polecenia:
/path/to/my/command >> /var/log/command.log
A polecenie nie wraca, czy istnieje sposób, z innego monitu, aby zobaczyć, na co ustawione jest przekierowanie STDOUT?
Szukam czegoś takiego
cat /proc/PID/redirects
lub
ps -??? | grep PID
ale każda metoda wystarczy.
shell
io-redirection
open-files
Bogaty
źródło
źródło
Przydatnym narzędziem do sprawdzenia, jakie pliki są otwierane przez procesy
lsof
. Możesz wskazać na konkretny proceslsof -p1234
, a zobaczysz głównie te same informacje, które możesz uzyskaćls -l /proc/1234/fd
pod Linuksem, tj. Jakie pliki są otwierane.Najbardziej użyteczną rzeczą
lsof
jest odwrotność:lsof /path/to/file
mówi, jakie procesy używają tego pliku.źródło
Wiele odpowiedzi mówi o robieniu tego w ten sposób:
Przekonałem się jednak, że to nie zawsze działa. Alternatywnie
cat
czasami daje wyniki.gdzie {PID} można sprawdzić za pomocą
ps aux
polecenia.Warto również wspomnieć, że liczbę na końcu polecenia (w tym przypadku fd / 1) można zmienić dla innych wyjść.
źródło