linux程序设计
鱼裸忧伤
这个作者很懒,什么都没留下…
展开
-
exit()与_exit()函数的区别(Linux系统中)
1、exit和_exit函数都是用来终止进程的。 当程序执行到exit或_exit时,系统无条件的停止剩下所有操作,清除包括PCB在内的各种数据结构,并终止本进程的运行。2、exit在头文件stdlib.h中声明,而_exit()声明在头文件unistd.h中声明。 exit中的参数exit_code为0代表进程正常终止,若为其他值表示程序执行过程中有错误发生。3、ex转载 2015-10-19 18:19:31 · 380 阅读 · 0 评论 -
Linux信号(signal) 机制分析
1 信号本质软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因转载 2015-10-19 10:47:12 · 309 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
深刻理解Linux进程间通信(IPC)0. 序1. 管道1.1. 管道概述及相关API应用1.2. 有名管道概述及相关API应用1.3. 小结1.4. 参考资料2. 信号(上)2.1. 信号及信号来源2.2. 信号的种类2.3. 进程对信号的响应2.4. 信号的发送2.5. 信号的安装(设置信号关联动作)2.6. 信号转载 2015-10-19 22:10:33 · 460 阅读 · 0 评论 -
wait、waitpid及僵尸进程
一wait 父进程等待子进程结束#include /* 提供类型pid_t的定义 */#include pid_t wait(int *status)进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait原创 2015-10-18 21:20:00 · 653 阅读 · 0 评论 -
rand和srand的实现机制
rand和srand是用于产生伪随机数的两个函数,根据参考手册rand的返回值是在[0, RAND_MAX]之间的数据,RAND_MAX在不同的系统中数值有所不同。以下是rand和srand实现方式的一个示例(假定RAND_MAX为32767)[cpp] view plaincopyprint?static unsigned long next = 1;转载 2015-10-20 10:29:57 · 367 阅读 · 0 评论 -
POSIX线程管理
线程管理创建线程: 最初,main函数包含了一个缺省的线程。其它线程则需要程序员显式地创建。 pthread_create创建一个新线程并使之运行起来。该函数可以在程序的任何地方调用。 pthread_create参数: thread:返回一个不透明的,唯一的新线程标识符。 attr:不透明的线程属性对象。可以指定一个线程属性对象,或者NULL原创 2015-10-13 22:10:12 · 409 阅读 · 0 评论 -
linux启动新进程
说到进程,首先要明确的一个概念就是什么是进程,进程是“a program in execution”。一个进程由如下元素组成:–程序的上下文(context),它是程序当前执行的状态–程序的当前执行目录–程序访问的文件和目录–程序的信任状态或者说访问权限,比如它的文件模式和所有权–内存和其他分配给进程的系统资源本文讨论创建进程1、 system库函数在原创 2015-10-13 22:46:38 · 595 阅读 · 0 评论