Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Access value of a variable after exit 0 in fork

by NetWallah (Canon)
on Dec 27, 2012 at 07:33 UTC ( #1010462=note: print w/replies, xml ) Need Help??

in reply to Access value of a variable after exit 0 in fork

The simplest would be to return a small numeric value via the exit code of the sub-process, read that in the parent process, and translate that in you main code to set $trigger to "ON".

The problem you currently have is that $trigger in the child process is in a different memory space, and modifying that in the child has no effect on the parent's instance of $trigger.

             "By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest."           -Confucius

  • Comment on Re: Access value of a variable after exit 0 in fork

Replies are listed 'Best First'.
Re^2: Access value of a variable after exit 0 in fork
by Anonymous Monk on Dec 27, 2012 at 08:53 UTC
    Can you please elaborate via some code? Sorry to give you trouble,but just want to understand thoroughly.
      See perlipc and waitpid
      if( my $pid = fork() ){ print "parent ($$) is waiting on child $pid\n"; my $kid ; do { $kid = waitpid(-1, WNOHANG); } while $kid > 0; my $exit = $? >> 8; die qq{Kid ($kid) exited with $? / $exit \n}; } else { print "I am the kid $$\n"; sleep 1; #~ exit 666; ## too big exit 12; } __END__ parent (1724) is waiting on child -880 I am the kid -880 Kid (-880) exited with 3072 / 12

      There are abstractions to help you manage this like Parallel::ForkManager, Proc::Fork, forks, threads ....

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010462]
[ovedpo15]: But I don't know the length of the string. will it still work?
[ovedpo15]: The only thing I know is that there is a comma at the end and a value after that
[hippo]: Try it and see. Your computer won't explode.
[Corion]: length will tell you the length of a string.
[Corion]: But if you are parsing CSV, again, let me point to Text::CSV_XS, which you should use instead
[hippo]: +1 for Text::CSV_XS
[ovedpo15]: Im not allowed to use additional modules, so I can't use it. looking for a simple regex to do this task though..
[Corion]: Ah, so this is homework? Then most likely, you should review your course material closer. It would greatly surprise me if the course material wouldn't mention the topics that will be used in the homework...
[Corion]: I already showed you the simple regex to match the last part of a string without a comma in it

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2018-05-27 10:41 GMT
Find Nodes?
    Voting Booth?