Tôi đang cố gắng tìm một cách tốt để nối đuôi tệp trên máy chủ từ xa. Đây là một mạng nội bộ của các máy Linux. Các yêu cầu là:Làm thế nào tôi có thể đuôi một tập tin từ xa?
Phải cư xử tốt (không có quá trình thêm đặt xung quanh, hoặc đầu ra liên tục)
Không thể đòi hỏi mô-đun pet Perl của một ai đó.
Có thể được gọi thông qua Perl.
Nếu có thể, không đòi hỏi một kịch bản được xây dựng tùy chỉnh hoặc tiện ích trên máy từ xa (tiện ích Linux thường xuyên được sử dụng tốt)
Các giải pháp tôi đã cố gắng nói chung thuộc loại này
ssh remotemachine -f <some command>
"một số lệnh" đã được:
tail -f logfile
đuôi Basic doesn' t làm việc vì quá trình từ xa tiếp tục ghi đầu ra cho thiết bị đầu cuối sau khi quá trình ssh cục bộ chết.
$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 $_;
}
Điều này hoạt động tốt hơn vì không có đầu ra màn hình sau khi thoát khỏi quá trình cục bộ nhưng quá trình từ xa không phát hiện ra ổ cắm của thiết bị đang hoạt động và vô thời hạn.
Ví dụ mã bạn đăng hoàn toàn không có ý nghĩa gì cả. Bạn có thể đăng sự thật không? –
Bạn có ý gì khi "quá trình từ xa tiếp tục phun ra"? Khi một trong hai bên của kết nối ssh chết, người kia cũng sẽ chết ... * bối rối * –
Vâng - Tôi đã nhìn thấy các phiên ssh chết, và bất cứ điều gì cũng chạy qua chúng croak quá, trừ khi họ đang chạy trong phiên màn hình tách ra hoặc một cái gì đó – warren