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 プロセスが適切に開始されます。
asyncパラメータを使用した場合と使用しNet::OpenSSH->new()
ない場合の呼び出しを試しました。また、コマンドでnohupを使用してみましたが、違いはありませんでした。
ctrl-c
スクリプトを無人で実行できるようにするには、どうすれば の必要性をなくすことができますか?