今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目: 给出如下C程序,在linux下使用gcc编译: #include "stdio.h" #include "sys/types.h" #include "unistd.h" int main() { pid_t pid1; pid_t pid2; pid1 = fork(); pid2 = fork(); printf("pid1:%d, pid2:%d\n&…
http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html…
转载http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html 给出如下C程序,在linux下使用gcc编译: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include "stdio.h" #include "sys/types.h" #include "unistd.h" int main() {     pid_t p…
Struts1工作原理图: 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象.(面向对象思想) 2.发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器. 3.form填充:struts的总控制器ActionServlet在用户提交请求时将数…
内存管理 内存在Objective-C开发中是一种相对稀缺的资源,拿Iphone4为例,它的内存只有512mb,所以妥善的处理好所创造,所使用的每个对象与变量都将成为一个问题.在ARC出现以前,同大部分基于C的编程语言一样,程序员需要考虑如何高效的管理内存.像在Java或是一些脚本语言中就不需要考虑内存管理的问题. 生命周期 Obj-c对象的创建,存活和销毁整个过程为它的声明周期.销毁后就会回收对象占用的内存.那么跟踪对象的使用,以及理解在什么时候释放资源十分重要. 看到这样一个问题,问为什么不…
用C#编写Linux守护进程   如果要在Red Hat Enterprise Linux上将.NET Core进程作为后台进程运行,则可以创建自定义systemd单元.今天我将为.NET Core编写两个自定义系统单元的例子.一个是运行.NET Core控制台应用程序的一种类型,另一个是运行ASP.NET Core Web应用程序的简单类型. 控制台应用程序 建立一个应用程序 您可以用dotnet run在systemd中使用指定项目目录作为工作目录.但是,我们来构建一个二进制文件并将其用于s…
linux2.6.11的内核中,为了方便管理linux的进程,主要建了5种linux链表.每个链表节点之间的互联有两种方式,一种是hash节点之间的互联,通过hlist_node的数据结构来实现:另一种就是list_head类型的数据结构来互联.看linux内核的人对这两种类型的数据结构肯定是不会陌生的,因为它们在linux内核中无处不在. 1 进程直接的互连 通过任务描述符结构task_struct结构中的tasks成员来实现各个节点之间的互连,它是list_head类型.这个链表是一个循环的…
过滤器Filter 文章前言:本文侧重实用和理解. 一.过滤器的概念. lFilter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能.   二.过滤器的运行机制.   没有加Filter的web项目运行机制如下:    加上Filter的web…
一.概述 JSP是一种建立在Servlet规范功能上的动态网页技术,在网页文件中嵌入Java代码和JSP标记用于产生动态内容. 本文简单介绍JSP的运行机制和JSP的语法. 二.JSP的运行机制 JSP文件在用户第一次请求时,会被编译成Servlet,再由这个Servlet处理用户的请求. JSP容器管理JSP页面生命周期分为两个阶段:转换阶段和执行阶段,当有一个对JSP页面的客户请求到来时,JSP容器将JSP页面转换为Servlet源文件,然后调用javac工具编译源文件生成字节码文件,接下来…