PHP实现常驻内存脚本(下)

PHP和Python实现常驻内存脚本(上)我们知道了,利用Linux 2>&1特性我们可以实现常驻内存的目的,那么我们不使用这种方式是否有PHP内置的办法呢?答案是肯定有:
其实我们利用PHP内置pcntl_fork和posix_setsid方法可以上面说到的需求。
具体看代码:
<?php
/**
* Created by PhpStorm.
* User: fanghouguo.com
* Date: 2018/12/31
* Time: 20:01
*/

$pid = pcntl_fork();
if ($pid < 0) {
echo ‘fork error’;
exit;
} else if ($pid) {
//父进程执行到此,返回的为子进程pid,此时需要把父进程杀掉。
echo “fork success\n”;
exit;
} else {
// 重点是posix_setsid()
$sid = posix_setsid();
if ($sid < 0) {
echo ‘setsid error’;
exit;
}
while(1){
//do something
echo “will sleep go on continue\n”;
sleep(1);
}
}

运行 php crontab.php 即可运行。不需要再使用2>&1这种方式了。同学们是不是觉得非常简单呢。还赶快去尝试呢。

点击量:27

发表评论

电子邮件地址不会被公开。 必填项已用*标注