'perl\\ -e\\ \\\'\\$s\\ \\=\\ shift\\;\\ \\$SIG\\{ALRM\\}\\ \\=\\ sub\\ \\{\\ kill\\ INT\\ \\=\\>\\ \\$p\\ \\}\\;\\ exec\\(\\@ARGV\\)\\ unless\\ \\$p\\ \\=\\ fork\\;\\ alarm\\ \\$s\\;\\ waitpid\\ \\+\\$p\\,\\ 0\\ \\\'\\ 3\\ \\\'ls\\ -ltr\\\'' #### use Net::OpenSSH; my $ssh=Net::OpenSSH->new($server); my $line = $ssh->capture(perl => -e => <<'EOC', 3, 'ls -ltr'); $s = shift; $SIG{ALRM} = sub {kill INT => $p}; exec(@ARGV) unless $p = fork; alarm $s; waitpid $p, 0; EOC