Newsgroup: it.comp.os.linux.sys
Titolo: ssh per eseguire script

Ciao a tutti. Sto cercando di fronteggiare un problema piuttosto
anomalo.
Ho 2 macchine: macchina A e macchina B.
 - Supponendo che ho già a risolto il problema dello scambio delle
chiavi e che per andare in ssh dalla macchina A alla B non è più
richiesta la password -
Sulla macchina B ho uno script che esegue dei comandi.
Dalla macchina A vorrei eseguire questo script con il comando
 - ssh B /root/script
Questa cosa mi ritorna con errore sulla riga n dello script sulla
macchina B dove è presente un comando
 - /miopath/comando
e mi indica che il processo numero xxxx afferente al comando "/miopath/
comando" è uscito con errore segmentation fault.
Adesso, se io vado sulla macchina B e chiamo lo script a mano, questo
viene eseguito senza problemi e persino i comandi, uno alla volta,
vengono eseguiti senza problemi.
Come mai, una volta che vado ad eseguire questo scruipt in ssh, e, in
particolare, un comando che in locale non crea problemi, adesso mi
crea un problema di segmentation fault???
Vi ringrazio tutti per eventuali suggerimenti,
Pietro

 crea un problema di segmentation fault???
Forse perche' quel comando cerca di scrivere qualche cosa a video, non
ci riesce (non c'e' console) e si incazza. Senza sapere che comando e
con la palla di cristallo in reinstallazione e' difficile dirlo.
Davide

 con la palla di cristallo in reinstallazione
Pure quella?!?
-- 
http://bofhskull.wordpress.com/

 Pure quella?!?
si, fa parte del server, e' connessa via esata.
-- 
[cit. da INN-A]
I roditori una volta vivevano secondo natura...
Poi hanno incominciato ad incartare la cioccolata...
Adesso si rendono conto che spammare � pi� proficuo...

 Vi ringrazio tutti per eventuali suggerimenti,
prova -t
man ssh
/tty
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.


effettivamente il programma interessato scrive sulla consolle un
messaggio ("trasferimento in corso...").
Ho provato, seguendo il tuo consiglio, ad indirizzare gli output su /
dev/null con
 - /miopath/comando 1>/dev/null 2>/dev/null
ma non ho ancora ottenuto niente.
Il programma che cerco di eseguire è un mio programma fatto in c.
La cosa VERAMENTE STRANA è che se io faccio questo giochetto su di un
altro apparato (parliamo sempre di macchina B la cui unica differenza
con l'attuale è che utilizza come distribuzione la Slackware 10.2
invece che la 12.0 che è quella nuova che utilizzo - quindi a parità
di macchina A - ), questo funziona bene.
Non riesco a cogliere le differenze.
Ti ringrazio comunque dell'aiuto,
spero che quanto prima possa aggiustare la sfera di cristallo... :-)
Pietro

 Il programma che cerco di eseguire è un mio programma fatto in c.
Suona tanto di bug del tuo programma, qualcosa riguardo puntatori e/o
variabili non inizializzate. Il fatto che a volte vada e a volte no
e' "normale" per programmi C con bug di quel tipo.

 Il programma che cerco di eseguire � un mio programma fatto in c.
mbe allora compilalo con i simboli di debug e debuggalo

 mbe allora compilalo con i simboli di debug e debuggalo
ottimo consiglio, ma anche adesso mi sono impantanato:
fatto, ricompilato tutto con -g e ho utilizzato messo nello script il
comando
 - gdb /miopath/comando
in questo modo posso seguire passo passo cosa combina il mio
programmino malefico.
Quindi do' come prima
 - ssh B /root/script
Crasha, ma quando al momento del crash vado a fare backtrace per
vedere le chiamate di funzioni problematiche mi viene fuori questa
cosa qui:
(gdb) backtrace
#0  0xb7e0ad50 in strcpy () from /lib/libc.so.6
#1  0x080496af in openlog ()
#2  0x080494f6 in vsyslog ()
#3  0x080494c0 in ?? ()
#4  0x00000003 in ?? ()
#5  0x08049950 in ?? ()
#6  0x08049945 in ?? ()
#7  0x08049936 in ?? ()
#8  0xbfd350e0 in ?? ()
#9  0x7974742f in ?? ()
#10 0x00003053 in ?? ()
#11 0x00000000 in ?? ()
Adesso, io nel  mio programmino non utilizzo mai strcpy e mi sembra
che sia una chiamata di libc a dare fastidio al tutto.
Forse che non sia possibile eseguire un debug come sto facendo io?
Dove sbaglio?
Vi ringrazio tutti del preziosissimo aiuto.
@The_Zipman : ho provato ad utilizzare l'opzione -t, ma senza ottenere
risultati ahime'!!


Ho capito tutto, il problema era nei log che scrivevo verso l'esterno,
erano troppo frequenti e mandavano in palla il sistema, nella vecchia
versione i log erano decisamente meno frequenti e tutto filava liscio.
Vi ringrazio tutti per la collaborazione, per i suggerimenti e la
pazienza.
Pietro

 pazienza.
ma non avevi detto che l'unica cosa che cambiava era la versione della
slackware?


si, ma poi con gdb ho visto che una seriale veniva settata ad un
velocità diversa dalla versione precedente (56k invece che 9.6k), e
non lo sapevo. Grazie a voi ho saputo accorgermene e rimediare, grazie
di nuovo.
Pietro

 si, fa parte del server, e' connessa via esata.
hai provato a vedere che dice lo smart prima di reinstallare??