Linux进程管理
文章平均质量分 85
Y_23k_bug
这个作者很懒,什么都没留下…
展开
-
Linux c 进程的理解
Linux进程的理解:1. 父子进程的关系 独立的两个进程 互为父子关系2. 问题:2.1. 父进程先结束? 子进程就依托根进程init:孤儿进程 孤儿进程没有任何问题(没有任何危害)2.2. 子进程先结束?原创 2013-08-11 02:30:12 · 1330 阅读 · 0 评论 -
Linux c 基于socket文件的进程通信—对等模型
基于socket文件的进程通信: Socket文件进程通信方式,比较重要,原因:网络业采用这种通信模型。 两种模型: 对等模型 C/S模型(服务器客户端模型) 1. 对等模型:1. 建立socket#include 1.建立socket:socket原创 2013-08-16 00:34:13 · 3232 阅读 · 0 评论 -
Linux c 基于内存的进程通信—共享内存、共享队列(消息队列)
基于内存的进程通信:1. 内核共享内存编程模型: 1.1.创建共享内存,得到一个ID shmget1.2.把ID影射成虚拟地址(挂载) shmat 1.3.使用虚拟地址访问内核共享内存使用任何内存函数与运算符号 1.4.卸载虚拟地址 shmdt 1.5.删除共享内存 shctl(修改/原创 2013-08-15 01:39:43 · 4123 阅读 · 1 评论 -
Linux c 匿名管道实例—创建两个子进程与父进程进行管道通信
利用fork创建两个子进程的框架:#include<stdio.h>#include<stdlib.h>#include<unistd.h> void main(){int id = 1;while(1){ if(fork()) { if(id>2) //循环创建两个子进程 { break; } continue; } else原创 2013-08-14 19:43:35 · 6481 阅读 · 0 评论 -
Linux c 管道文件-进程间的通信 mkfifo、pipe
1. read没有数据,read会阻塞,而且read后数据是被删除。2. 数据是有序的3. 打开的描述符号可以读写(two-way双工)(建议用只读或只写打开)或者用shutdown函数关闭读或写关闭,变成单工4. 管道文件关闭后,数据不持久.(程序如不删除管道,程序结束后,无法读到数据)5. 管道的数据实际是存储在内核的缓冲中。(管道文件不是一个真实的文件,是内存的虚拟文件)注:其实管道文件只是内存中的一个先进先出的数据结构,文件只是个载体,打原创 2013-08-14 15:59:02 · 3888 阅读 · 0 评论 -
Linux c 信号—sigaction、sigqueue
思考:信号中断函数调用中是否被其他信号中断. 信号函数调用中只屏蔽本身信号,不屏蔽其他信号.(屏蔽了本身信号,信号排队,处理函数处理结束后,立即再次处理该信号调用处理函数。其他信号则直接可以中断处理函数。) 怎么保证信号处理函数调用中屏蔽原创 2013-08-12 22:12:02 · 2023 阅读 · 0 评论 -
Linux c 屏蔽信号、切换信号
信号导致的问题不是任何信号我们都需要的,如果遇到我们不想处理的信号,我们怎么避免这个信号? 1. 信号屏蔽 intsigprocmask(int how,//操作方式 SIG_BLOCK屏蔽信号原创 2013-08-12 13:35:05 · 1703 阅读 · 0 评论 -
Linux c 信号—pause、sigsuspend 的相同于区别
sigsuspend与pause的不同处: sigsuspend函数是pause函数的增强版。当sigsuspend函数的参数信号集为空信号集时,sigsuspend函数是和pause函数是一样的,可以接受任何信号的中断。但,sigsuspend函数可以屏蔽信号,接受指定的信号中断。sigsuspend函数=pause函数+指定屏蔽信号 注:信号中断的是sigsuspend和pause函数,不是程序代码。 sigsuspend是否影响sigprocmask屏蔽的信号呢?原创 2013-08-12 16:16:07 · 2869 阅读 · 0 评论 -
Linux c 信号丢失问题
信号的可靠与不可靠以及信号的含义 信号有丢失.(信号压缩) 由于历史的缘故:信号有压缩的需求. 可靠信号(实时信号)与不可靠信号(非实时信号). 早期信号 1-31 31个信号,原创 2013-08-12 00:12:54 · 2417 阅读 · 0 评论 -
Linux 进程的基本控制—atexit、on_exit函数、文件锁
进程的基本控制: 进程控制函数:pause、sleep、usleep 函数atexit on_exit atexit函数: #include 功能:注册终止函数(即进程执行结束后调用的函数) 用法:int atexit( void (*func)(void)); (参数为回调函数) 注意:按照ISO C的规定,一个进原创 2013-08-11 17:12:49 · 2997 阅读 · 0 评论 -
Linux进程管理—信号、定时器
信号:1. 信号的作用: 背景: 进程之间通信比较麻烦。 但进程之间又必须通信,比如父子进程之间。 作用: 通知其他进程响应。进程之间的一种通信机制。 信号: 接受信号的进程马上停止,调用信号处理函数。原创 2013-08-11 20:36:25 · 1151 阅读 · 0 评论 -
Linux c 信号量
信号量(通过进程通信实现进程间的同步) 信号量(semaphore)信号灯 信号量是共享内存整数数组.根据需要定义指定的数组长度 信号量就是根据数组中的值,决定阻塞还是解除阻塞编程模型:1. 创建或者得到信号量 semget2. 初始化信号量中指定下标的值原创 2013-08-29 15:58:40 · 1673 阅读 · 0 评论