ChinaUnix.net
相关文章推荐:

linux 多进程

/* 本文修改自: http://linux.chinaunix.net/techdoc/develop/2007/07/20/963167.shtml */ 1 linux进程的结构    linux下一个进程在内存里有三部分的数据,就是"代码段"、"堆栈段"和"数据段"。一般的CPU都有上述三种段寄存器,以方便操作系统的运行。这三个部分也是构成一个完整的执行序列的必要的部分。    "代码段",顾名思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可...

by neilengineer - Linux文档专区 - 2009-04-06 17:36:17 阅读(956) 回复(0)

相关讨论

  在bash中,使用后台任务来实现任务的“程化”。在不加控制的模式下,不管有少任务,全部都后台执行。也就是说,在这种情况下,有少任务就有少“进程”在同时执行。我们就先实现第一种情况:   实例一:正常情况脚本   #!/bin/bash   for ((i=0;i<5;i++));do   {   sleep 3;echo 1>>aa && echo "done!"   }   done   wait   cat aa|wc -l   rm aa   这种情况下,程序顺序执行,每个...

by hechi158 - Shell - 2012-06-20 22:36:26 阅读(9415) 回复(9)

关键字:linux,程,fork(),wait() 首先,简单介绍一下我们要用的函数:fork()、wait()。 fork ()函数是一个很有意思的函数。他可以建立一个新进程,把当前的进程分为父进程和子进程。原来进程的所有页面在调用fork()函数时被分为相同的两份, 所以父进程和子进程都使用相同的映像。该函数与普通函数的不同之处是函数如果调用成功会返回两次,在父进程中返回子进程的PID;在子进程中返回0。成功 后,父进程和子进程都...

by embededgood - Linux文档专区 - 2009-07-26 03:50:48 阅读(1082) 回复(0)

1 引言 对于没有接触过Unix/linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的程方法。与DOS和早期的Windows不同,Unix/linux系统是真正实现任务操作的系统,可以说,不使用程...

by wxju168 - Linux文档专区 - 2009-07-15 17:18:04 阅读(818) 回复(0)

碰到程的程序如何调试呢?默认情况下,你next下来,跟的路径都是主进程的,而你想跟的子进程路径没跑到?怎么办呢? 有几种方法,今天看了看attach方法,觉得不错,特记录如下: 原理:运行程程序,得到要跟的子进程的ID;然后用开gdb,用attach+ID,然后stop,为什么要stop?防止子进程自己跑完,所以要stop,然后可以设断点,观测点,什么的。设完后,可以step,下一步,向下跟。 主要原理是这样。下面举个例子: #inc...

by 吃烤鱼 - Linux文档专区 - 2009-06-06 16:07:20 阅读(891) 回复(0)

(一) 理解linux进程的结构   linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编语 言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“代码段”,顾名思义,就是存放了程序代码的数据,假如机器中有 数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。   堆栈段存放的就是子程序的返回地址、子程序的参数以及程序的局部变量。而...

by ruanbanyong1 - Linux文档专区 - 2009-04-25 21:59:24 阅读(768) 回复(0)

切入主题: 假如我知道有进程A、B、C、D,我想知道它们在后台是否都在正常的运行, ps查看进程: 1.如果进程 A、B、C、D 都正常运行,则睡眠; 2.如果进程 A、B、C、D 中有进程不在运行,则启动不在运行的进程; 请大家集思广益,这个脚本折腾了3三个星期了,不知道如果下手写。 ========================================= 个人想法:请大家修改: 新建个零时文件,包含想要监控的进程名称:pro_temp 内容包括: A B C D #...

by ontherd - Shell - 2010-07-06 06:33:47 阅读(13423) 回复(24)

进程终止: 6)exit()函数 头文件 #include #include 功能 正常终止进程 终止进程执行 原型 void exit(int status) void _exit(int status) 传入数值 整数 status 整数 status 注 exit()用来正常终止目前进程的 执行,并把参数status返回给父 进程,而进程所有的缓冲数据会 自动写回并关闭未关闭的文件 _exit()哟年来立刻终止目前进程 的执行,并把参数status返回给父 进程,并关闭未关闭的文件,但不处 理标准I...

by ubuntuer - Linux文档专区 - 2009-02-24 10:13:44 阅读(561) 回复(0)

功能 等待子进程中断或结束 原型 Pid_t wait(int *status) 传入值 status子进程状态 返回值 成功返回子进程进程号,否则返回-1 注 wait()会暂停目前进程的执行,直到有信号来到或子进程终止 例: #include #include #include #include int main() { pid_t child; int i; child=fork(); if(child 头文件 #include #include 功能 等待子进程中断或结束 原型 pid_t waitpid(pid_t pid,int *status,int option...

by ubuntuer - Linux文档专区 - 2009-02-24 10:12:09 阅读(697) 回复(0)

一、进程的定义:程序执行和资源管理的最小单位。 二、进程控制: (1)进程标识: 进程标识 子进程号 父进程号 头文件 #include #include 函数功能 取得当前进程进程号 取得当前进程的父进程号 函数原型 Pid_t getpid(void) Pid_t getppid(void) 函数返回值 成功返回进程进程标识符 成功返回父进程进程标识符 注:Pid_t其实是一个typedef类型,相当于unsigned int. 例: #include #include int main() { ...

by ubuntuer - Linux文档专区 - 2009-02-24 10:10:34 阅读(577) 回复(0)

(一) 理解linux进程的结构    linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编语言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“代码段”,顾名思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。    堆栈段存放的就是子程序的返回地址、子程序的参数以及程序的局部变量。...

by vicgates - Linux文档专区 - 2008-11-07 13:03:09 阅读(537) 回复(0)