我的主腳本在網關服務器上執行。它調用另一個腳本並在遠程服務器上執行它,但遠程腳本沒有確定的運行時間。所以我想禁用超時..如何禁用Net :: SSH :: Expect超時時間
好吧讓我解釋一下。
sub rollout
{
(my $path, my $address)[email protected]_;
my $errorStatus = 0;
print "Rollout process being initiated on netsim\n";
#Creating SSH object
my $ssh = Net::SSH::Expect-> new (
host => "netsim",
user => 'root',
raw_pty => 1
);
#Starting SSH process
$ssh->run_ssh() or die "SSH process couldn't start: $!";
#Start the interactive session
$ssh->exec("/tmp/rollout.pl $path $address", 30);
return $errorStatus;
}
當這部分代碼執行後,rollout.pl腳本調用,但是之後第二個過程就會被殺死遠程服務器
我不知道是什麼問題。期待可以讓你不要超時。然後它應該永遠等待。我想你沒有給出超時執行命令,那麼發生了什麼呢? – DeVadder
嗨,即使我有同樣的印象。但是看起來像默認情況下1秒超時。 – Jigar
默認的超時時間爲1秒,但僅用於讀取操作。請參閱下面的答案。而且你甚至可以把它改成99999或者其他什麼。但要小心,^^ – DeVadder