Sponsored Content
Full Discussion: fork in perl
Top Forums Shell Programming and Scripting fork in perl Post 302602428 by Anjan1 on Monday 27th of February 2012 10:41:05 AM
Old 02-27-2012
Code:
#!/usr/bin/perl

use strict;
use Net::SSH::Perl;

open (FH, "<hosts1") || die "cant open $!\n";


my @childs;

my $num = 5;

for (1 .. $num) {

while (<FH>) {


print "$_";

my $pid = fork();

if ($pid) {

push(@childs, $pid);
} 

elsif ($pid == 0) {
# child

chomp($_);

my $ssh = Net::SSH::Perl->new("$_", debug=>0);

$ssh->login("","");

my ($stdout,$stderr,$exit) = $ssh->cmd("hostname;date");

print $stdout;

sleep 5;

exit(0);

}

else {

die "couldn't fork: $!\n";

}

}

foreach my $k (@childs) {
waitpid($k, 0);

}

}

 

10 More Discussions You Might Find Interesting

1. Programming

fork()

#include <stdio.h> #include <string.h> #include <sys/types.h> #define MAX_COUNT 200 #define BUF_SIZE 100 void main(void) { pid_t pid; int i; char buf; fork(); pid = getpid(); for (i = 1; i <= MAX_COUNT; i++) { sprintf(buf,... (2 Replies)
Discussion started by: MKSRaja
2 Replies

2. Programming

Fork or what?

Hello all. I'm developing a filetransfer application, which is supposed to work sort of like dcc, with multiple transfers etc. Now i wonder what the best way to manage the transfers is. Should i fork() for each new transfer, hogging loads of memory or use pthreads? Maybe I can use select to see... (0 Replies)
Discussion started by: crippe
0 Replies

3. Programming

Fork ()

hi all About this code for (i = 1; i < n; i++) if ((childpid = fork()) <= 0) break; I really can't understand the output . and the way fork () return the value . how about the process Id ,the child process Id and the parent ID in this case so please answer me soon (5 Replies)
Discussion started by: iwbasts
5 Replies

4. Programming

fork() help

Hi everybody, I wanna write a code to understand how fork works. my target -------------- -Parent creates a file(called temp) and writes into this file "1".Then it closes the file. -Then parent creates a child and wait until execution of this child ends. -Then child opens the same... (3 Replies)
Discussion started by: alexicopax
3 Replies

5. Shell Programming and Scripting

new to perl.. how do I do this ? fork/ threads ?

I have never coded in perl before (just started today morning :). I need to write a perl program to automate a task. Here is how I do it manually: Start a program in my home dir. Now if I want to execute another program while this one is still running, what I would do is go to another... (6 Replies)
Discussion started by: the_learner
6 Replies

6. Shell Programming and Scripting

Perl fork

Hi, I want to exec three different functions in perl one per fork(); How can I determine that this it the third fork and I should use third function in it. if ($pid = 0) { first();} else ( #parent second(); ) How to run third function? (1 Reply)
Discussion started by: mirusnet
1 Replies

7. UNIX for Dummies Questions & Answers

fork()

I'm trying to run a simple test on how to use fork(), i'm able to execute the child process first then the parent, but how can I execute parent then child..? Thanks! (1 Reply)
Discussion started by: l flipboi l
1 Replies

8. Shell Programming and Scripting

fork in perl

Can someone tell me perl fork example please. I tried online but could not get proper documentation. (2 Replies)
Discussion started by: Anjan1
2 Replies

9. Programming

Fork!

I understand that fork create a child but I need very simple example that make child useful.... I mean how will make the program faster anyone explain with code plz using C plz (2 Replies)
Discussion started by: fwrlfo
2 Replies

10. Shell Programming and Scripting

Need explanation on Perl Fork

Hi, I am breaking my head to understand the below line of code in perl: next if $pid = fork; # Parent goes to next server. die "fork failed: $!" unless defined $pid; Can anyone please explain me in detail as I am a slow learner? Thanks, Ali. (2 Replies)
Discussion started by: liyakathali
2 Replies
Net::OpenSSH::Compat::SSH2(3pm) 			User Contributed Perl Documentation			   Net::OpenSSH::Compat::SSH2(3pm)

NAME
Net::OpenSSH::Compat::SSH2 - Net::OpenSSH adapter for Net::SSH2 API compatibility SYNOPSIS
use Net::OpenSSH::Compat::SSH2 qw(:supplant); use Net::SSH2; my $ssh2 = Net::SSH2->new; $ssh2->connect('host'); $ssh2->auth_publickey("jsmith", "/home/jsmith/.ssh/id_dsa.pub", "/home/jsmith/.ssh/id_dsa"); my $c = $ssh2->channel; $c->exec("ls"); print while <$c>; $c->close; print "exit status: ", $c->exit_status, " "; DESCRIPTION
This module implements Net::SSH2 API on top of Net::OpenSSH. After the module is loaded as... use Net::OpenSSH::Compat::SSH2 qw(:supplant); it will supplant the Net::SSH2 module as if it was installed on the machine and use Net::OpenSSH under the hood to handle SSH operations. Most programs using Net::SSH2 should continue to work without any change. Setting defaults The hash %Net::OpenSSH::Compat::SSH2::DEFAULTS can be used to set default values for Net::OpenSSH and other modules called under the hood and otherwise not accesible through the Net::SSH2 API. The entries currently supported are: connection => [ %opts ] Extra options passed to "Net::OpenSSH::new" constructor. Example: $Net::OpenSSH::Compat::SSH2::DEFAULTS{connection} = [ ssh_path => "/opt/SSH/bin/ssh" ]; channel => [ %opts ] Extra options passed to "Net::OpenSSH::open_ex" method. sftp => [ %opts ] Extra options passed to "Net::SFTP::Foreign::new" constructor. $Net::OpenSSH::Compat::SSH2::DEFAULTS{connection} = [ read_ahead => 128 * 1024, queue_size => 20 ]; BUGS AND SUPPORT
This is a work in progress. Besides that, there are some functionality of Net::SSH2 that can not be emulated with Net::OpenSSH. Fortunatelly, the missing bits are rarely used so probably you may not need them at all. Specifically, the return values from the "$ssh2->method($ATTR)" are not real but faked ones. "auth_list" return value is also faked. Anyway, if your Net::SSH2 script fails, fill a bug report at the CPAN RT bugtracker (https://rt.cpan.org/Ticket/Create.html?Queue=Net-OpenSSH-Compat <https://rt.cpan.org/Ticket/Create.html?Queue=Net-OpenSSH-Compat>) or just send me an e-mail with the details. Include at least: 1 - The full source of the script 2 - A description of what happens in your machine 3 - What you thing it should be happening 4 - What happens when you use the real Net::SSH2 5 - The version and name of your operating system 6 - The version of the OpenSSH ssh client installed on your machine ("ssh -V") 7 - The Perl version ("perl -V") 8 - The versions of the Perl packages Net::OpenSSH, IO::Pty and this Net::OpenSSH::Compat. Git repository The source code repository is at https://github.com/salva/p5-Net-OpenSSH-Compat <https://github.com/salva/p5-Net-OpenSSH-Compat>. My wishlist If you like this module and you're feeling generous, take a look at my Amazon Wish List: <http://amzn.com/w/1WU1P6IR5QZ42> Also consider contributing to the OpenSSH project this module builds upon: <http://www.openssh.org/donations.html>. COPYRIGHT AND LICENSE
Copyright (C) 2011 by Salvador Fandin~o (sfandino@yahoo.com) This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available. perl v5.14.2 2011-09-28 Net::OpenSSH::Compat::SSH2(3pm)
All times are GMT -4. The time now is 12:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy