Ho lasciato uno script in esecuzione su una macchina remota da quando ci lavoravo localmente. Posso connettermi tramite SSH alla macchina come lo stesso utente e vedere lo script in esecuzione ps
.
$ ps aux | grep ipcheck
myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh
Sta semplicemente eseguendo lo stdout in una sessione locale (ho corso da ./ipchecker.sh
una finestra del terminale locale, nessun reindirizzamento, nessun uso di screen
ecc.).
C'è comunque da una sessione SSH che posso visualizzare l'output di questo comando in esecuzione (senza fermarlo)?
Finora il migliore che ho trovato è usare strace -p 18386
ma ho orde di testo che volano sullo schermo, è troppo dettagliato. Posso fermarmi strace
e quindi scorrere l'output e scoprire che il testo viene stampato su stdout ma è molto lungo e confuso, e ovviamente mentre è fermo potrei perdere qualcosa. Vorrei trovare un modo per vedere l'output dello script dal vivo come se stessi lavorando localmente.
Qualcuno può migliorare su questo? La risposta ovvia è riavviare lo script con il reindirizzamento o in una screen
sessione ecc., Questo non è uno script mission-critical, quindi potrei farlo. Piuttosto, lo vedo come un divertente esercizio di apprendimento.
strace -p 4232 -e write