Sto cercando di trovare un buon modo per accodare un file su un host remoto. Questo è su una rete interna di macchine Linux. I requisiti sono:Come posso codificare un file remoto?
Deve essere ben educati (senza processo in più, che in giro, o uscita continua)
non può richiedere il modulo Perl animale domestico di qualcuno.
Può essere richiamato tramite Perl.
Se possibile, non richiede uno script su misura o l'utilità sul computer remoto (regolari utility Linux vanno bene)
Le soluzioni che ho provato sono generalmente di questo tipo
ssh remotemachine -f <some command>
"un po 'di comando" è stata:
tail -f logfile
coda di base doesn' t lavorare perché il processo remoto continua a scrivere output sul terminale dopo la morte del processo ssh locale.
$socket = IO:Socket::INET->new(...);
$pid = fork();
if(!$pid)
{
exec("ssh $host -f '<script which connects to socket and writes>'");
exit;
}
$client = $socket->accept;
while(<$client>)
{
print $_;
}
Questo funziona meglio perché non v'è alcuna uscita allo schermo dopo il processo termina locali ma il processo remoto non capire che la sua presa è giù e vive all'infinito.
L'esempio di codice che hai postato non ha assolutamente senso. Puoi pubblicare la cosa reale? –
Cosa intendi con "il processo remoto continua a vomitare"? Quando entrambi i lati della connessione ssh muoiono, anche l'altro dovrebbe morire ... * perplesso * –
Sì - ho visto le sessioni ssh morire, e qualsiasi cosa stesse scorrendo attraverso di loro gracchiava, a meno che non stessero correndo in sessioni di schermate separate o qualcosa – warren