Thank you for your response Ikegami. I am running Expect in the verbose mode, so I would expect to see any errors spew on the screen. However, I took your advise and added the following two lines after the "kill" command above to see what is being returned:
$exp1->send_slow("$cmd\n");
$exp1->expect($timeout, -re=>'.*');
print "Got return from Expect:\n".$exp1->match()."\n";
But I get no return back from the pattern match:
Got command prompt: [root@fc10-test perl]# Sending kill commands to ch
+ild processes:
/bin/kill -INT 4361
Starting EXPECT pattern matching...
at /home/csit/usr/perl/lib/site_perl/5.10.1/Expect.pm line 561
Expect::expect('Expect=GLOB(0x93611a0)', 10, '-re', '.*') call
+ed at vpn_client1.pl line 132
main::sigInt('INT') called at vpn_client1.pl line 100
eval {...} called at vpn_client1.pl line 100
Got return from Expect:
VPN process 4361 not dead yet
4361 ? 00:00:00 openvpn
Sending kill -TERM
Sending kill commands to child processes:
/bin/kill -TERM 4361
Starting EXPECT pattern matching...
at /home/csit/usr/perl/lib/site_perl/5.10.1/Expect.pm line 561
Expect::expect('Expect=GLOB(0x93611a0)', 10, '-re', '.*') call
+ed at vpn_client1.pl line 132
main::sigInt('INT') called at vpn_client1.pl line 100
eval {...} called at vpn_client1.pl line 100
Got return from Expect:
VPN process 4361 not dead yet
4361 ? 00:00:00 openvpn
|