PHP后台程序对LINUX信号的处理
PHP在运行的时候,直接kill掉,有肯能造成数据的丢失。幸好php模块,有针对signal的处理。
处理方式,首先检查有没有安装 PCNTL 模块
然后可以在一个包含文件中,添加以下代码
global $exitFlag;
$exitFlag = false;
// 增加linux信号量处理
if (DIRECTORY_SEPARATOR != '\\') {
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
pcntl_signal(SIGINT, "sig_handler");
}
// 信号处理函数
function sig_handler($signo)
{
global $exitFlag;
echo "signal handler...\n";
switch ($signo) {
case SIGTERM :
case SIGHUP :
case SIGINT :
$exitFlag = true;
break;
default :
// handle all other signals
}
}
最后一个注意点: 在你所运行的php主文件里,添加一行
declare(ticks = 1);
否则这个信号处理是不起作用的。
相关文档:
该程序没有优化 只是最原始的程序 可以将其与flash结合起来!
与flash结合起来就是将php得到的地址和区域 打印出来再返回个flash端这么简单
<?php
$getIP="218.11.140.23"; // 这里是自己随便写的一个ip 实际时你还要通过程序得到这个ip
//只开始时查前三段
$subIPs=explode(".",$getIP);
$subIP=$sub ......
这几天我安装了一个Linux系统,想在里面学一下C语言的编写,发现在里面运行有一个好奇怪的现象:如下面
#include<stdio.h>
void mian(){
printf("hello world!");
}
输出没有结果!搞的我看了半天,程序没有错误啊!怎么这样!后来我把程序改为
#include<stdio.h>
void mian(){
printf("hello ......
现在嵌入式也玩多核了。
利用./mpstat -P ALL 1 100 可以来查看cpu的使用情况。
这个是转的一个例子:
在多CPU的趋势越来越大了. 有时候为了更好地操作机器, 需要将某个进程绑定到具体的CPU上去. 下面给出了一个进程绑定到具体的CPU上去的一个例子.
view plaincopy to clipboardprint?
···&midd ......
由于32位操作系统下面单进程最大内存使用不能超过2G,而我们用Memcached经常需要使用更大的内存空间,所以选择64位的Linux版本是必须的,64位OS下的Memcached安装和32位OS下差不多,只有一个地方稍有不同,详见下面的红色字体部分。
我们以版本memcached-1.2.6为例,对于其他版本替换相应版本号即可;
下载地址:http://w ......