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);
否则这个信号处理是不起作用的。
相关文档:
在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。
-------------------------------------------------------------------
先看两个例子:
例子一:结束某个程序,如Firefox
键入命令:
pkill firefox
例子二: 结束某个进程,如find&n ......
我把我整合apache+tomcat+mod_webapp.so的过程发上来。其中包括了许多前人的心得与经验
1.所需的软件包
j2sdk-1_4_1_02-linux-i586.bin(jdk1.4.1)
Apache2.0.40 (Red Hat Linux8.0自带)   ......
2.1.2 是否通用
有些单片机厂家也给客户提供了大量的驱动程序,比如USB
HOST驱动程序,这可以让客户很容易就可以在它的上面编写程序读写U盘。但是客户写的这些程序,只能在这种芯片、这个驱动程序上使用;更换另一种芯片
后,即使芯片公司也提供了驱动程序,但是接口绝对不一样,客户又得重新编写应用程序。
基于操作 ......
Linux软件包,常见的格式包括有rpm,deb,tar,gz,tgz,zip,bz2等等。几乎每个linux软件都会提供tar的格式的软件包,因为这种格式的软件包任何版本的linux都支持,所以大家至少要了解tar和rpm的使用方法。至于deb可用alien工具转换成tgz或rpm方式。bz2可用bunzip2解包即可。
一、RPM文件的安装
RPM 是RedHat Package ......