Perl(SSH 到远程主机,发出命令并关闭 session 而不等待其完成...)

标签 perl scripting ssh

脚本转到远程服务器并使用 Net::SSH::Perl 运行 shell 脚本“snap.sh”。 这个 shell 脚本需要大约 10 分钟才能结束,我的 perl 程序会等待直到它得到输出。 我想在远程服务器上运行 shell 脚本,并且程序应该关闭 SSH session ,而无需等待脚本在远程服务器上完成。

my $ssh = Net::SSH::Perl->new($host, protocol =>2);
$ssh->login($username, $password);
my $cmd="./bin/snap.sh";
my($stdout, $stderr, $exit) = $ssh->cmd($cmd);

最佳答案

查找nohup命令。这是quick post to get you started 。为了完整起见,这里应该适合您的情况......

my $cmd="nohup ./bin/snap.sh &";

关于Perl(SSH 到远程主机,发出命令并关闭 session 而不等待其完成...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817664/

相关文章:

linux - 在 bash 脚本中一致运行

linux - 按 Enter 后隐藏 STDIN 回显

linux - 局部变量遥不可及

linux - 使用 Zoidberg 或 Term::Shell ( Perl 模块 ) 哪一个更好地在 Perl 中实现自定义 shell?

Powershell 非位置、可选参数

ssh - Jenkins SSH插件-更改文件集的基本目录(默认为工作区。)

perl - 为什么我不能在 Perl 中做 "shift subroutine_name()"?

excel - 如何检测和突出显示单元格中是否有多个单词

linux - 如何处理ssh key ?

windows - Perl - 无法在 Windows 上安装 Net::SSH2