1

私は Net::SSH2 を使用して、リモート ホストで遅い管理コマンドを実行しています。

Perl 5.8.8 libssh2 1.2.2

channel exec で奇妙な「タイムアウト」が発生し続けます。 $chan->exec( $command );

実行中のコマンドは通常、実行中の最小限の出力で最大 1 時間 (60 分) 実行されます。

短いコマンドは正常に機能します。最小出力の遅いものは、約 1 分後に 1 を返します。

ソケットをブロッキングに設定し、タイムアウトを60分などに設定しました...何も役に立ちませんでした。

何か案は?

4

1 に答える 1

1

Net::SSH2 で「nohup コマンド &」を使用してコマンドを実行し、生成されたプログラムの状態をチェックして接続を維持します。

詳細については、次のスレッドを参照してください。

http://www.perlmonks.org/index.pl?node_id=868377

于 2011-04-08T17:41:31.110 に答える