PDA

View Full Version : SSH e output processo in sessione locale


s3s3
06-07-2011, 15:20
Ciao a tutti!
Ho realizzato uno script con dei socket in python, che praticamente deve stare inlooppato per tutto il tempo di esecuzione (in particolare questo si avvia allo starup della macchina e si spegne assieme alla macchina). Il problema è che vorrei controllarlo da remoto con una sessione SSH, però l'SSH crea una nuova sessione, per cui non vedo l'output generato dallo script. Avevo pensato ad un file di log che io vado a leggere, però la terrei come riserva, in quanto preferirei vedere in tempo reale. L'ultima spiaggia è installare un window manager leggero leggero (mi viene in mente openbox) e entrarci in VNC; ma ripeto preferirei continuare con SSH.

Qualcuno ha qualche idea al riguardo?

Vi ringrazio anticipatamente.

Ciao.

Stefano.

EDIT: messaggio 666 hihihihi! :D

sacarde
06-07-2011, 19:41
screen

s3s3
06-07-2011, 20:23
Grazie della risposta!
Vedo se può fare a caso mio.

Ciao.

Stefano.

s3s3
07-07-2011, 10:11
Ho visto questo screen, l'idea è interessante, però ho un problema di inizializzazione, mi spiego: questo serverino che ha su lo script (si veda come una specie di firewall), non prevede l'uso di tastiera mouse e monitor, per cui, se io anche avviassi lo script con screen, non ho modo di dargli il "ctrl+a, d" per detachare la schermata. Ho provato, con il processo attivato, da SSH dare uno screen -r passandogli gli argomenti di pid e tty del processo interessato, però se non è stato detachato prima, non si fa niente...

Idee???

Grazie.

Ciao.

Stefano.

EDIT: ho visto ora il screen -d -r. Ci lavoro un po' su. Ma non è proprio possibile "cattuare" un tty già aperto in nessun modo???

sacarde
07-07-2011, 10:22
ma il detach lo devi fare da ssh quando sei connesso


allora:

- ssh al server remoto
- crei la sessione "screen S <nome>"
- lanci il comando da lasciare in esecuzione
- ti detacchi
- chiudi la sessione ssh

poi.....

ti riconnetti con ssh
rientri nel comando: screen -r <nome>

in caso non sei detaccato: screen -x <nome>

wizard1993
07-07-2011, 10:27
il caro vecchio nohup non ti piace?

s3s3
07-07-2011, 10:32
ma il detach lo devi fare da ssh quando sei connesso


allora:

- ssh al server remoto
- crei la sessione "screen S <nome>"
- lanci il comando da lasciare in esecuzione
- ti detacchi
- chiudi la sessione ssh

poi.....

ti riconnetti con ssh
rientri nel comando: screen -r <nome>

in caso non sei detaccato: screen -x <nome>

Ti stavo proprio scrivendo per il -x! Perfetto grazie mille! :D
EDIT: non potevo fare il detach in locale. Però la -x sembra possa fare a caso mio!

il caro vecchio nohup non ti piace?

Non so cosa sia, ora do un occhio anche a questo!

Grazie!

Ciao.

Stefano.

sacarde
07-07-2011, 10:32
nohup non ti permette di riattaccarti alla sessione