On Wed, 21 Jul 2004 13:16:01 -0500, Michael Sims <[EMAIL PROTECTED]> wrote: > Justin Patrin wrote: > > On Wed, 21 Jul 2004 10:09:52 -0700, bruce <[EMAIL PROTECTED]> > > wrote: > >> 2) i could run the perl script, and have it somehow run in the > >> background.... this would ba good, if there's a way to essentially > [...] > > AFAIK there's no way to do this. When the request ends (user hits > > stop, exit or die called) the process is ended. This includes > > children. > > There are ways around that, though, at least if you're running unix: > > exec('bash -c "exec nohup setsid your_command > /dev/null 2>&1 &"'); > > I found this method in a user contributed note underneath the documentation for > exec() and it works rather well. The exec call returns very quickly and the child > process continues to run even after the parent process dies. The important part of > the above command is "nohup" which runs a command that ignores hangup signals. >
Of course...nohup. But that will only work if your provider allows it (and has it installed). > > If you could set it off asynchronously, there would be no > > way of knowing when it ended as the process wouldn't have access to > > that session any more. > > If the OP could reimplement his perl script in PHP it could be passed the session ID > as an argument. The child process could then call session_id($argv[1]) before > calling session_start(), and finally update the session data to indicate its current > status. > > If that's out of the question the perl script could update its status in a database > table as you suggested... > Or he could write a simple PHP wrapper that runs the perl script then updates the session. -- DB_DataObject_FormBuilder - The database at your fingertips http://pear.php.net/package/DB_DataObject_FormBuilder paperCrane --Justin Patrin-- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php