0

リモート マシンへの ssh で問題が発生し、そのマシンで Perl を使用してテキスト ファイルを開きます。私は現在、以下に示すようにファイルを尾行しています。

my $remote_filename = '/export/home/fsv/sample.txt';
my $remote_host = 'bs16-s1.xyz.com';

my $cmd = "ssh -l $sshUser $remote_host tail -f $remote_filename |";

open  $inFile, $cmd or die "Couldn't spawn [$cmd]: $!/$?";

接続がタイムアウトし、ファイルが開かれていないことがわかります。Net::SSH と Remote::FIle も使用してみましたが、役に立ちませんでした。これについて何らかの支援を得ることができれば、それは素晴らしいことです。

御時間ありがとうございます。

4

1 に答える 1

1

あなたが主張するよりも、プログラムの後半で実際にブロックしています。具体的には$inFile、ハンドルがEOFを返すまで読み取り元をブロックします。sshこれが、tail終了する理由です。tail -f(シグナルで終了しない限り) 終了しないため、終了することもありません。それがcatうまくいった理由です。

于 2012-07-31T17:40:53.193 に答える