转自:gdb调试多进程和多线程命令1.
默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可...
分类:
数据库 时间:
2014-05-23 23:01:03
阅读次数:
470
程序A创建子进程,并调用进程B,根据不调用的不同情况,最后显示结果不同。#include
#include #include #include #include int main() { pid_t pid, rpid; int stat; if
((pid = fork()) i...
分类:
系统相关 时间:
2014-05-23 12:35:12
阅读次数:
1758
linux下实现多线程有两种函数调用:一种是通过pthread.h里面已经封装好的函数调用,另一种是通过unistd.h里面的fork函数调用。前面已经已经列举了pthread的使用,下面来书fork的例子。
一.fork函数
简单的fork例子
#include
#include
#include
using namespace std;
int main()
{...
分类:
编程语言 时间:
2014-05-23 07:59:41
阅读次数:
395
曾几何时,只是一直在调用库函数fork,只知道它创建一个子进程,并且子进程返回值是0,父进程返回值是子进程pid。但是一直没有深究内核代码,今天终于使用gdb调试了一把fork的内核代码,下面就让我们一探究竟吧。
1.创建进程的本质是什么?
根据目前理解,其实就是构造了PCB,这个PCB会唯一标示一个进程的存在,并且会构建子进程的页目录和页表等等。
2.为什么fork()调用会有2个返回值,...
分类:
系统相关 时间:
2014-05-22 10:40:01
阅读次数:
404
CGI
CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。
FastCGI
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布...
分类:
Web程序 时间:
2014-05-22 09:31:44
阅读次数:
340
接着上一篇博文,继续分析Ext4磁盘布局中的元数据。1.7超级块超级块记录整个文件系统的大量信息,如数据块个数、inode个数、支持的特性、管理信息,等待。如果设置sparse_super特性标志,超级块和块组描述符表的冗余备份仅存放在编号为0或3、5、7的幂次方的块组中。如果未设置sparse_s...
分类:
其他好文 时间:
2014-05-20 11:24:38
阅读次数:
474
struct dx_rootHtree的内部节点:struct
dx_nodeHtree树根和节点中都存在的Hash map:struct
dx_entry1.20扩展属性EA扩展属性(xattrs)通常存储在磁盘上的一个单独的数据块中,通过inode.i_file_acl*引用。扩展属性的第一应用...
分类:
其他好文 时间:
2014-05-20 11:07:57
阅读次数:
675
线程是一种使程序在同一时间做多件事的机制,和进程一样是并发执行的。linux内核调度为每个线程分配一个时间片,使用完后等待下次调度。和进程相比,线程是一种更小的执行单位。
每个进程启动后都会有一个线程在运行,称为主线程,可以在主线程中启动多个子线程,这些线程在同一个进程中,不同线程在给定时间内执行不同的代码片段。
我们可以fork一个子进程,这个子进程就是对父进...
分类:
编程语言 时间:
2014-05-18 04:58:16
阅读次数:
307
linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。硬链接:由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。可以用:ln命令来建立硬链接。...
分类:
系统相关 时间:
2014-05-18 02:23:39
阅读次数:
389
转载自:http://www.cnblogs.com/york-hust/archive/2012/11/23/2784534.html一、fork入门知识
一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全...
分类:
系统相关 时间:
2014-05-15 22:05:30
阅读次数:
455