NYCPHP Meetup

NYPHP.org

[nycphp-talk] Run PHP script as service (every 10 seconds)

Jon Gilkison jon.gilkison at gmail.com
Tue Dec 16 04:49:25 EST 2008


#!/usr/bin/php
<?php

/**
  * Handles SIG handlers
  */
$sigterm=false;
$sighup=false;

/**
  * SIG handler
  */
function sig_handler($signo)
{
	global $sigterm, $sigup;

	if($signo == SIGTERM)
		$sigterm = true;
  	else if($signo == SIGHUP)
		$sighup = true;
}

// Set up the forking
global $sigterm, $sighup;

ini_set("max_execution_time", "0");
ini_set("max_input_time", "0");
set_time_limit(0);

pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// fork this process into a background child process
$pid = pcntl_fork();
if($pid == -1)
	die("There is no fork()!");

if($pid)
{
	echo($pid);
	return 0;
}

while(!$sigterm)
{
	// CHANGE TO WHATEVER SCRIPT YOU WANT TO RUN
	exec('php /path/to/your/script');

	// CHANGE TO WHATEVER TIME
	sleep(2);
}

return 0;

?>

This will launch itself in the background and execute a script every x  
seconds.

HTH,

Jon.


jon gilkison
chief technology officer / massify.com


On Dec 16, 2008, at 3:45 AM, hafez ahmad wrote:

> Dears,
>
> I need to run PHP script every 10 seconds , I can do that with  
> (while true) and sleep(10), but I need to the script always run on  
> Linux machine as service.
>
> Any Ideas?
>
> Regards,
> hafez
> _______________________________________________
> New York PHP User Group Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> http://www.nyphp.org/show_participation.php

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nyphp.org/pipermail/talk/attachments/20081216/51062759/attachment.html>


More information about the talk mailing list