PHP:passthru keeps waiting for the command to complete
I wanted to execute (in background) a shell script from a PHP program. I wrote the following code for the same:
echo “Starting…”;
passthru(“/path/to/shell/script.sh &”);
echo “…Started”;
?>
But unfortunately, the results were not what I had expected. The PHP script keeps running untill the script.sh exits.
$> php -q try.php
Starting…
Fortunately enough, I found the solution pretty soon. The trick is to redirect the output to /dev/null.
Changing the above code to the following worked for me:
echo “Starting…”;
passthru(“/path/to/shell/script.sh > /dev/null &”);
echo “…Started”;
?>
About this entry
You’re currently reading “PHP:passthru keeps waiting for the command to complete,” an entry on /kapil/blog
- Published:
- 2.16.07 / 7am
- Category:
- Uncategorized
/kapil/blog
No comments
Jump to comment form | comments rss [?] | trackback uri [?]