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);
否则这个信号处理是不起作用的。
相关文档:
看到同学们有不少在用php开发项目的,或许下面的资料对大家有用吧,用来学习一下也好。
收集的资料相关地址:
cubi demo site:http://dev.openbiz.cn/cubi/user/login
openBiz app cubi:http://docs.google.com/View?id=df5ktjv9_64f9fd88gf
openbiz architecture overview:
http: ......
昨天我们实现了一个简单的搜索功能,今天我想了一下,其实还有可以改进的地址,如直接用Index.php代替Search.php。
修改Index.php文件,修改一下搜索表单
<!---搜索框--->
<!--这里的所有值前面加前缀“S_”以区分-->
<form id="form1" name="form1" method="get" action="Index.php">
&n ......
(1)在tslib目录下有设置环境变量的文本文件:settsenv.sh,内容:
export T_ROOT=/system
export LD_LIBRARY_PATH=$T_ROOT/lib
export TSLIB_CONSOLEDEVICE=
export TSLIB_FBDEVICE=/dev/graphics/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_R ......
2.1.2 是否通用
有些单片机厂家也给客户提供了大量的驱动程序,比如USB
HOST驱动程序,这可以让客户很容易就可以在它的上面编写程序读写U盘。但是客户写的这些程序,只能在这种芯片、这个驱动程序上使用;更换另一种芯片
后,即使芯片公司也提供了驱动程序,但是接口绝对不一样,客户又得重新编写应用程序。
基于操作 ......