使用Net :: SFTP时如何注销

时间:2016-06-08 21:22:04

标签: perl

我正在尝试使用Net::SFTP,但我无法在其文档或Net::SSH::Perl的文档中找到我们应该如何退出SFTP服务器。

我错过了什么?

垃圾控制是否处理了注销?

1 个答案:

答案 0 :(得分:4)

你不能。

我查看了Net::SFTP和Net :: SSH :: Perl的源代码。它们都没有DESTROY方法,因此没有进行明确的清理。也没有disconnectquit或类似。

Net :: SSH :: Perl有一个sub _disconnect which is empty。这是called by sub fatal_disconnect。如果SFTP请求失败,则由Net :: SFTP fatal_disconnect is used。但就是这样。没别了。

Perl一旦超出范围,它们就会被Perl清理干净。

{
    my $sftp = Net::SFTP->connect; # example
    # do stuff...
}

# here it has been cleaned up and DESTROY was called on it

但由于没有代码,所以没有其他事情发生。我找不到告诉SSH注销的代码。也许它只是超时了。我们必须查看服务器日志以了解会发生什么。