Wiem, jak przekierować dane wyjściowe i jak je tłumić w bash. Załóżmy teraz, że przypadkowo zapomniałem dołączyć część przekierowania wyjścia do polecenia (np. 2>&1Lub > /tmp/mystdout), a mój proces w tle już działa przez jakiś czas, czy nadal mogę zmienić lokalizację stdouti stderrzapisywanie? Naprawdę nie chciałbym zabijać i ponownie uruchamiać aplikacji.
Aby być bardziej szczegółowym, o co pytał Gilles w swoim komentarzu, chciałbym się tym zająć w następujących scenariuszach:
- zły plik wyjściowy
- zapomniałem przekierować
stderrnastdout
lub kombinacja obu
Np. Mam uruchomiony Apache i widzę deskryptory plików:
/proc/8019/fd/0 -> /dev/null
/proc/8019/fd/1 -> /dev/null
/proc/8019/fd/2 -> /var/log/apache2/error.log