function createDeamon($gid, $uid) {
// 只允许在cli下面运行
if (php_sapi_name() != "cli") {
die("only run in command line mode\n");
}
set_time_limit(0);
if (pcntl_fork() != 0) { //是父进程,父进程退出
exit();
}
\posix_setsid(); //设置新会话组长,脱离终端
chdir("/"); //改变工作目录
umask(0); //把文件掩码清0
if (pcntl_fork() != 0) { //第二次fock子进程
exit();
}
\posix_setuid($uid);
\posix_setgid($gid);
//关闭打开的文件描述符
fclose(STDIN);
fclose(STDOUT);
fclose(STDERR);
//重定向标准输出和错误输出,个人觉得不需要这样,因为常住内存,所以一直占着io链接总感觉不太好,不如自定义msg方法
/*
global $STDIN, $STDOUT, $STDERR;
$outputfile = self::getConfig('deamon', 'outputfile');
$dirname = dirname($outputfile);
if( !file_exists($dirname) ){
mkdir($dirname);
}
$STDIN = fopen('/dev/null', "a");
$STDOUT = fopen($outputfile, "a");
$STDERR = fopen($outputfile, "a");
*/
}