php写守护进程 在后台运行

实例一,如test.php 内容如下:

#!/usr/bin/php
<?php
    set_time_limit(0);
    while(1)
    {
        $fp = fopen("/home/wwwroot/default/test/auto_".time(),"w");
        fwrite($fp,"xgl");
        fclose($fp);
        sleep(30);
    }
?>

给一个执行权限
chmod +x ./test.php
在执行 ./test.php 脚本,他就会在后台每个30秒生成一个文件
用ps -ef|grep test.php 可以查看到改进程的id
可以使用kill -9  进程号 可以杀死改进程

实例二:
绑定本机的 9006端口
如test1.php 内容如下

#!/usr/bin/php
<?php
    set_time_limit(0);
    ob_implicit_flush();
    $address = "10.0.12.115";
    $port = 9009;

if(($sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP))<0)
{
    echo "socket_create() failed:".socket_strerror($sock);;
}    

if(($ret = socket_bind($sock,$address,$port))<0)
{
    echo "socket_bind failed:".socket_strerror($ret);
}

if(($ret = socket_listen($sock,5))<0)
{
    echo "socket_listen faild:" . socket_strerror($ret);
}
 while(1)
{
    if(($msgsock = socket_accept($sock))<0)
    {
        echo "socket_accept faild:".socket_strerror($msgsock);
        break;
    }
    $msg ="welcome to php test server\r\n";
    socket_write($msgsock,$msg,strlen($msg));
    while(1)
    {
        if(false ===($buf = socket_read($msgsock,2048, PHP_NORMAL_READ)))
        {
            echo "socket_read() failed :".socket_strerror($ret);
            break 2;
        }
        $buf=trim($buf);
        if($buf=="quit")
        {
            break;
        }
        if($buf=="shutdown")
        {
            socket_close($msgsock);
            break 2;
        }
        if($buf=="help")
        {
            $msg ="type quit ,exit \r\n to shutdown,";
            socket_write($msgsock,$msg,strlen($msg));
            continue;
        }
    }
    socket_close($msgsock);
}
socket_close($sock);