我正在尝试使用Net::OpenSSH
登录到远程机器,并启动后台进程。
my $ssh = Net::OpenSSH->new( $username . "\@" . $host, key_path => $key, async => 1);
$ssh->error and die "Open ssh error: " . $ssh->error;
my $out = $ssh->system("nohup ./apache-jmeter-2.8/bin/jmeter-server > /dev/null &");
print $out;
当它运行时,它会登录到机器上,我会得到 jmeter-server 提示符
——如果我输入 ctrl-C,则 perl 脚本会继续,并且 jmeter-server 进程会正确启动。
我已经尝试过Net::OpenSSH->new()
使用和不使用异步参数的调用,并且我也尝试过在命令上使用nohup,没有任何区别。
如何消除对脚本的需要,ctrl-c
以便脚本可以无人值守运行?