I have a cron job on my website that runs every so often that downloads the contents of a text file. Everything worked fine until this morning when I got an e-mail from my web host that I was using up all my (allocated) processes. They narrowed it down to this file and told me to fix it stat because it wasn't closing properly. Any help for this php newbie would be most welcome.
#!/usr/bin/php
<?php
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "http://www.address.com/textfile.txt");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//$output contains the output string
$output = curl_exec($ch);
// We need to check whether the data is valid.
// We check for the 'Client Error' string
// inside the output data. If it exists, we don't want
// to overwrite the previous (good) data.
if (strpos($output,'Client Error') !== false) {
echo $output;
//echo 'Client Error, no data.';
}else{
$outputFile = '/home/hostingacct/public_html/outputTextFile.txt';
$fh = fopen($outputFile,'w') or die("can't open");
fwrite($fh,$output);
fclose($fh);
}
// close curl resource to free up system resources
curl_close($ch);
?>
Edit:
Added ps xauf results - vds-status.php is my php file that I am working with.
ryan 11678 0.0 0.0 335380 6216 ? Ss Dec14 0:13 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 11663 0.0 0.0 335640 6100 ? Ss Dec12 0:19 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 11509 0.0 0.0 335380 6220 ? Ss Dec14 0:13 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 11244 0.0 0.0 335640 6128 ? Ss Dec13 0:16 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 11173 0.0 0.0 335640 6264 ? Ss Dec14 0:14 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 10718 0.0 0.0 335380 6004 ? Ss Dec12 0:20 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 9397 0.0 0.0 335380 6020 ? Ss Dec13 0:16 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 9379 0.0 0.0 335380 6216 ? Ss Dec13 0:14 /usr/local/bin/php /home/ryan/etc/vds-status.php
ryan 9333 0.0 0.0 335640 6128 ? Ss Dec13 0:16 /usr/local/bin/php /home/ryan/etc/vds-status.php
When I posted my question previously, I had had my webhost delete all processes immediately because it was blocking my site. The problem has occurred again 2 months later, processes still running, etc. I ran ps xauf per Antoan and the results are above.
It looks like the problem started on the 12th and kept happening for two days. Can anyone shed some light on how this could happen? It seems like this happens just after midnight on those problem days. Is this possibly because the server (via cURL) is unreachable --causing the php script to not exit? Thanks everyone.