百思不得其解的多线程问题!!!
时间:2011-02-22
来源:互联网
本帖最后由 xxhacker 于 2011-02-22 18:30 编辑
本人想写一个多进程/多线程 连接主机的脚本,多进程没有问题,但是多线程确一直困扰着我,执行的时候程序一直卡那里,等待连接的返回值,我也不知道什么原因,特救助!!!!!
复制代码
本人想写一个多进程/多线程 连接主机的脚本,多进程没有问题,但是多线程确一直困扰着我,执行的时候程序一直卡那里,等待连接的返回值,我也不知道什么原因,特救助!!!!!
- #!/usr/bin/perl
- use strict;
- use threads;
- use Net::SSH::Perl;
- #use Parallel::ForkManager;
-
- my @thread_array;
- my @clients = ("192.168.161.40","192.168.161.146");
- #my $max_procs = 10;
- #my $pm = new Parallel::ForkManager($max_procs);
- my $cmd='uname -r';
- my $user='root';
- my $pass='pass';
-
- #foreach my $host (@clients){
- # my $pid = $pm->start and next;
- # &SSH($host);
- # $pm->finish;
- #}
-
- sub SSH
- {
- my $host = shift;
- # chomp( $host );
- my $ssh = Net::SSH::Perl->new( $host );
- $ssh->login($user, $pass);
- my($out) = $ssh->cmd($cmd);
- print "$host\t$out";
- # return $out;
- }
-
- sub Test
- {
- my $text = shift;
- print "$text\n";
- }
-
- for(my $i = 0; $i <= $#clients; $i++){
- $thread_array[$i] = threads->new(\&SSH, $clients[$i]);
- }
-
- foreach my $thread ( @thread_array )
- {
- $thread -> join( );
- }
作者: xxhacker 发布时间: 2011-02-22
my($out) = $ssh->cmd($cmd);
我记得是三个返回值吧? 有一个是判断命令执行成功,还有是cmd的返回值,还有一个什么的我忘记了
我记得是三个返回值吧? 有一个是判断命令执行成功,还有是cmd的返回值,还有一个什么的我忘记了
作者: dahe_1984 发布时间: 2011-02-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28