Zostawiłem skrypt działający na zdalnej maszynie od czasu, gdy pracowałem nad nim lokalnie. Mogę połączyć się przez SSH z maszyną jako ten sam użytkownik i zobaczyć uruchomiony skrypt ps
.
$ ps aux | grep ipcheck
myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh
Po prostu wyświetla wyjście na standardowe wyjście w lokalnej sesji (uruchomiłem ./ipchecker.sh
z lokalnego okna terminala, bez przekierowania, bez użycia screen
itp.).
Czy w ogóle z sesji SSH mogę wyświetlić dane wyjściowe tego uruchomionego polecenia (bez zatrzymywania go)?
Do tej pory najlepsze, co znalazłem, to użyć, strace -p 18386
ale dostaję hordy tekstu lecącego w górę ekranu, który jest zbyt szczegółowy. Mogę zatrzymać, strace
a następnie przeszukać dane wyjściowe i znaleźć tekst przeniesiony na standardowe wyjście, ale jest on bardzo długi i mylący, i oczywiście, gdy jest zatrzymany, mogę coś przeoczyć. Chciałbym znaleźć sposób, aby zobaczyć wyniki skryptu na żywo, tak jakbym pracował lokalnie.
Czy ktoś może to poprawić? Oczywistą odpowiedzią jest ponowne uruchomienie skryptu z przekierowaniem lub w screen
sesji itp. Nie jest to skrypt o znaczeniu krytycznym, więc mógłbym to zrobić. Uważam to raczej za zabawne ćwiczenie edukacyjne.
strace -p 4232 -e write