Odpowiedzi:
Możesz uzyskać standardowe deskryptory plików tego procesu, np . stdout:
tail -f /proc/<pid>/fd/1
# ls -la /proc/24510/fd/1 lrwx------ 1 root root 64 Oct 31 08:34 /proc/24510/fd/1 -> socket:[444026]
Tutaj jest kilka opcji. Jednym z nich jest przekierowanie wyniku polecenia do pliku, a następnie użycie go taildo przeglądania nowych wierszy dodawanych do tego pliku w czasie rzeczywistym.
Inną opcją jest uruchomienie programu wewnątrz screen, który jest rodzajem tekstowej aplikacji terminalowej. Sesje ekranowe można dołączać i odłączać, ale nominalnie mają one być używane tylko przez tego samego użytkownika, więc jeśli chcesz je udostępnić między użytkownikami.
Jeśli chcesz, możesz śledzić proces i zobaczyć, co on robi z strace:
strace -e trace=open -p 22254 -s 80 -o output.txt
-p PID: Dołącz do procesu za pomocą identyfikatora PID procesu i rozpocznij śledzenie.-s SIZE: Określ maksymalny rozmiar ciągu do wydrukowania (domyślnie jest to 32).-o filename: Zapisz dane wyjściowe śledzenia w nazwie pliku, a nie w pliku screen (stderr).sudostrace, aby dołączyć do procesu, i użyj, -o ~/output.txtaby plik pozostał w folderze domowym.
Możesz użyć poniższych poleceń, aby dołączyć działający proces do innego terminala:
retty(Strona podręcznika : retty )reptyrscreenPrzykład:
screen -S PID
retty $(pgrep PID)
reptyr PID
sudo apt-get install rettyale istnieje kilka ograniczeń dotyczących retty. Sprawdź stronę podręcznika wymienioną w odpowiedzi.