Hi all,
MCE has gone through several revisions since the time the OP tested this. I tested without IO::Pty on my box. Amazingly, running (yum install perl-Net-OpenSSH) installed the package without checking the perl-IO-Tty dependency.
Workers in older MCE revisions closed STDOUT/STDERR prior to exiting. That was fix some time back.
$ ./mce_openssh.pl
child(1): doing ssh
unable to load Perl module IO::Pty: Can't locate IO/Pty.pm in @INC (@I
+NC contains: /media/psf/shm/trunk/examples/../lib /usr/local/lib64/pe
+rl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/pe
+rl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 10) lin
+e 1, <__ANONIO__> line 2.
at /usr/share/perl5/vendor_perl/Net/OpenSSH.pm line 756.
Btw, the script works after installing IO::Tty (yum install perl-IO-Pty).
my $sshuser = 'remote_userid';
my $sshpwd = 'remote_passwd';
my $device = 'remote_device';
use MCE::Flow max_workers => 1;
use Net::OpenSSH;
mce_flow sub {
my $wid = MCE->wid;
MCE->sendto('stdout', "child($wid): doing ssh\n");
my $ssh = Net::OpenSSH->new(
$device,
user => $sshuser,
passwd => $sshpwd,
master_opts => [-o => "StrictHostKeyChecking=no"],
master_stderr_discard => 1
);
MCE->sendto('stdout', "child($wid): did ssh - not shown!!! \n");
};
In summary, STDERR output is no longer lost with current MCE releases.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.