Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux下的进程等待(wait和waitpid)

Linux下的进程等待(wait和waitpid)

wait(等待子进程中断或结束)表头文件 #include<sys/types.h> #include<sys/wait.h>定义函数 pid_t wait (int * status);函数说明: wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。 如果在调用 wait()时子进程已经结束,则 wait()会立即返回子进程结束状态值。 子进程的结束状态值会由参数 status 返回,而子进程的进程识别码也会一...
ModSecurity 的拒绝服务漏洞已修复

ModSecurity 的拒绝服务漏洞已修复

ModSecurity 开发团队已经修复了 DoS 拒绝服务漏洞,该漏洞可使得攻击者搞垮防火墙,通过使用攻击 HTTP 请求来执行 forceRequestBodyVariable 和一个未知的内容类型可导致一个空指针引用。通过将程序升级到 2.7.4 版本可修复此问题,该版本同时也修复了一些小 bug和 libinjection 用于识别 SQL 注入攻击,同时开发团队也宣布了其 Nginx 移植版本已经达到稳定条件。Apache Struts "inc...
如何利用GCC编译选项检测栈溢出

如何利用GCC编译选项检测栈溢出

Stack smashing是堆栈缓冲区溢出(stack buffer overflow)的一个时髦称谓。它表示利用代码中存在的缓冲区溢出bug而发起的攻击。在早期,这完全是程序员的责任,他们要确保代码中不存在缓冲区溢出的问题。但是随着时间推移,技术的不断发展,现在像gcc这样的编译器已经有编译选项用来确保缓冲区溢出问题不被攻击者利用来破坏系统或者程序。有一次当我试图重现一个缓冲区溢出的问题时我才了解到这些编译选项。我是在Ubuntu 12.04上进行试验...
交叉编译Python 3.3 压成1.5MB

交叉编译Python 3.3 压成1.5MB

在研究如何在嵌入式Linux上搭建Python运行环境,因为有了Python之后,很多工具例如GoAgent之类的东西就可以用上场了。昨天成功编译了Python2.6,参考了网上很多方法,但最后无果而终,现在总结了一套自己的编译方法,基本上可以秒杀所有Python版本的交叉编译,这里做一个总结。我的编译环境是Debian64位 无桌面版本,体积很小巧,安装在办公室电脑虚拟机里,在家里也可以远程编译代码。首先在Python网站下载最新版源代码,这里我使用Py...
C++中返回指向函数的指针学习

C++中返回指向函数的指针学习

int *p() 定义一个函数,该函数返回一个指向整型元素的指针变量int (*p)() 指向函数的指针,该函数返回一个整型值在C++ primer 238页中出现的int(*ff(int))(int*,int) ,解释为:ff(int)是一个函数,带有一个int型的形参,所以,这个首先是一个函数。如下面例子中的int (*funOne(int number))(int a, int b)的funOne(int number).其返回的使int (*)(i...
Hadoop之MapReduce自定义二次排序流程实例详解

Hadoop之MapReduce自定义二次排序流程实例详解

一、概述MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二次排序的实现的原理以及整个MapReduce框架的处理流程的分析还是有非常大的出入,而且部分分析是没有经过验证的。本文将通过一个实际的MapReduce二次排序例子,讲述二次排序的实现和其MapReduc...
<< 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 >>