system("cmd &"); works for me....
Update
sorry, to be safest
system("cmd > /dev/null &");
just to make sure it isn't waiting on output from the system command
- Ant
- Some of my best work - Fish Dinner
| [reply] |
You know, that has worked for me in the past, but not in this case, I have tried system() exec() and fpassthru(), and now recently pcntl_fork(). This perl scripts gets angry when php leaves it alone for some stupid reason. Another thing I am thinking might work for these situations, is to have the first script write a cron job to do the second script, and then the second script will always remove itself from any cron entries, but I am hoping for a simpler solution, if Perl can fork, or whatever.
| [reply] |
Hrm... yeah... try putting this in the perl script you
are calling...
fork && exit(); #background process
close(STDOUT);
close(STDERR);
close(STDIN);
see if that detaches it... now you should not need th
> /dev/null &
- Ant
- Some of my best work - Fish Dinner
| [reply] [d/l] |
Oh man,,,,
I was all happy, and then I tried it, it worked great when running it from the prompt, but still just kind-of dies when done from the php app. I am hating this part! Here is where I am calling my perl script:
$run="snmp-wdr -c mrtgtest $request &";
echo "<BR>COMMAND SENT: $run<BR>";
$setsys=system($run);
DANG!
I am wondering if it has something to do with the mysql commands in the perl script, it appears that snmp-wdr IS running, and that is DOES start using snmp, but the mysql commands in the script are not functioning. Maybe that is why it works perfect from prompt, but not from web system()??
use hand
while code!=$working
bash $head
| [reply] [d/l] [select] |
$run="snmp-wdr -c mrtgtest $request > /dev/null 2>&1 &";
echo "<BR>COMMAND SENT: $run<BR>";
$setsys=system($run);
| [reply] [d/l] |