J'essaie de trouver un bon moyen de queue d'un fichier sur un hôte distant. C'est sur un réseau interne de machines Linux. Les exigences sont les suivantes:
Doit être bien comportés (sans supplément de processus autour de la pose, ou de continuer de sortie)
Ne peut pas exiger de quelqu'un animal de compagnie module Perl.
Peut être invoquée par Perl.
Si possible, ne nécessite pas une coutume construit script ou utilitaire sur l'ordinateur distant (régulier linux utilitaires sont beaux)
Les solutions que j'ai essayé sont généralement de ce type
ssh remotemachine -f <some command>
"certains de commande" a été:
tail -f logfile
De base de la queue ne fonctionne pas parce que le processus distant continue à écrire de sortie à la borne après l'ssh processus meurt.
$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 $_;
}
Cela fonctionne mieux, car il n'y a pas de sortie sur l'écran après le processus local de sorties, mais le processus distant ne pas comprendre que son support est en panne et il vit indéfiniment.