Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re^3: Fork exec and not wait?

by eyepopslikeamosquito (Chancellor)
on Jan 24, 2013 at 20:09 UTC ( #1015227=note: print w/replies, xml ) Need Help??

in reply to Re^2: Fork exec and not wait?
in thread Fork exec and not wait?

If you want something comparable to "&" in Unix, I recommend fork and exec, not threads. If you want sound advice from us, rather than random guessing, you will need to provide more background and context of your application and what you are trying to achieve. And you will need to post some code.

Replies are listed 'Best First'.
Re^4: Fork exec and not wait?
by packetstormer (Monk) on Jan 24, 2013 at 20:32 UTC

    OK, thanks for the replies. I hope my tone wasn't dismissive of anyone's suggestions, I certainly didn't mean to be and I am grateful for anyone taking the time to respond!

    Here is some code. I pass a string from a webpage and I then need to bring up an ssh tunnel in the background (I know I could do this using some existing modules instead of the system call but I stumbled across this issues and I'd like to figure it out this way!

    #!/usr/bin/perl use strict; use CGI; use Frontier::Client; use Template; my $catch = $cgi->param("catch"); my $exec = 'ssh -T -N -i /home/user/.ssh/keys +/login.key -p 2022 -L 1111:'; my $pid; defined($pid = fork()) or die "We've go some forking trouble - $!\n"; if ($pid == 0) { exec($exec); die "No exec here and here's why: $!\n"; exit(); } my $server = Frontier::Client->new(url => $catch, ); my $name = $cgi->param("title"); my $cat = $cgi->param("category"); my $priority = "1"; my $Top = $server->boolean("0"); my $method = "appenurl"; my $u = $cgi->param("u"); my $i = $cgi->param("i"); my $r = $cgi->param("r"); my $url = "$u&$i&$r"; my $result = $server->call("appendurl",($name,$cat,$priority,$Top,$url +) );
    So, if I pass the CGI param via the command line I get the tunnel up and sits at the remote login prompt (after a sucessful login) it doesn't continue on to the XMLRPC part. In a browser, the headers (which I am calling from a templat e not included in this code) don't get printed, the script just hangs.

    I am starting to think I am doing something really trivially, stupid at this stage?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1015227]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2018-06-20 10:25 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (116 votes). Check out past polls.