From: schlum <jsc...@bo...> - 2007-07-11 14:19:52
|
Hi, I spent few days on this one, but couldn't get it working... I am working under sunOS bt1wxxxx#uname -a SunOS bt1wxxxx 5.6 Generic_105181-23 sun4u sparc SUNW,Ultra-60 I can run the following script without any problem : #!/usr/bin/perl use strict; use Expect; my $exp = Expect->new; $exp->raw_pty(1); my $test = $exp->spawn('/usr/local/bin/ssh', -l => 'my_user', 'my_host') or die "Cannot spawn command: $!\n"; my @test1 = $exp->expect(5,'-re','password:'); $exp->clear_accum(); my @test2 = $exp->send("my_pass\r\n"); my @test3 = $exp->expect(15,'-re','my_host'); my @test4 = $exp->send("sh privilege\r\n"); The last command is exectuted successfuly. But if I try this : #!/usr/bin/perl use strict; use Expect; use threads; use threads::shared; use Thread::Queue::Any; my $thread = threads->new(\&threadJob,); $thread->join; sub threadJob{ my $exp = Expect->new; $exp->raw_pty(1); my $test = $exp->spawn('/usr/local/bin/ssh', -l => 'my_user', 'my_host') or die "Cannot spawn command: $!\n"; my @test1 = $exp->expect(5,'-re','password:'); $exp->clear_accum(); my @test2 = $exp->send("my_pass\r\n"); my @test3 = $exp->expect(15,'-re','my_host'); my @test4 = $exp->send("sh privilege\r\n");# On envoie le mdp } I actually get connected, but Expect don't interact anymore with ssh after the logging. Instead, I can access the box, I telneted from STDIN ... Does anybody knows why I'm getting this strange behavior ? Btw, when I close the conection, the script finishes to run peacefully. -- View this message in context: http://www.nabble.com/Trouble-with-Expect-working-with-Threads-tf4062209.html#a11541250 Sent from the Perl - Expectperl-Discuss mailing list archive at Nabble.com. |