Gdzie jest kierowany STDOUT odrzuconego programu?


11

W następstwie tego pytania chciałbym wiedzieć, gdzie disown -hjest przekierowywane STDOUT i STDERR programu, na którym uruchomiłem .

Odpowiedzi:


10

disownnie zmienia programów STDOUT / ERR. Będą one nadal trafiać tam, gdzie je przekierowałeś (używając >itp.). Jeśli ich nie przekierowałeś, nadal będą przechodzić do terminala, z którego uruchomiłeś program (aż do zamknięcia tego terminala, w którym to przypadku zostaną odrzucone).

Aby to zilustrować, uruchom to w terminalu:

bash -c 'while true; do sleep 1; echo hi; done' &

Spowoduje to wydrukowanie „cześć” co sekundę (i denerwuje cię strasznie ;-)). Jeśli disownprogram po uruchomieniu, „cześć” będzie po prostu kontynuowany. Musisz znaleźć PID pocisku (używając np. Ps) i zabić go, aby się zatrzymał.

Edytować:

Opierając się na komentarzach, być może naprawdę chcesz odzyskać dane wyjściowe programu po jego disownedycji i zamknięciu terminalu, w którym był uruchomiony. Wyjaśnia to następujące pytanie: Po zdalnym uruchomieniu programu tcsh ( dzięki quack quixote).


Zgodnie z jego poprzednim pytaniem faktem jest, że zamknął ten poprzedni terminal. Jak więc może uzyskać wynik?
Gnoupi

@Gnoupi: Nie sądzę, że istnieje sposób na odzyskanie danych wyjściowych. Przynajmniej nigdy nie słyszałem o niczym.
sleske

Dzięki za komentarz Gnoupi :-) W rzeczywistości nigdzie nie można znaleźć danych wyjściowych. Będę jednak szukał :-)
Thrawn

1
to naprawdę odpowiedź: disown nic nie zmienia; musisz skonfigurować przechwytywanie lub przekierowanie na początku procesu . jeśli będziesz go później potrzebować, gdb jest twoim (jedynym) przyjacielem: superuser.com/questions/50058/...
quack quixote

@ quack - Powiedziałbym, że pytanie wymaga przeredagowania, aby podkreślić rzeczywisty przypadek użycia, a nie tylko narzędzie. W obecnej formie (skoncentrowanej na disown) jest to rzeczywiście poprawna odpowiedź. Ale z kontekstu, w poprzednim pytaniu, użytkownik chce po prostu odzyskać dane wyjściowe, w tym przypadku link jest odpowiedzią.
Gnoupi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.