angelpan1014

 

2012年8月9日

kill 详解

摘要: kill(传送信号给指定的进程,使用 kill -l 命令可查看linux系统中信号。) 表头文件 #include<sys/types.h> #include<signal.h> 定义函数int kill(pid_t pid,int sig); 函数说明 kill()可以用来送参数sig指定的信号给参数pid指定的进程。参数pid有几种情况: pid>0 将信号传给进程识别码为pid 的进程。 pid=0 将信号传给和目前进程相同进程组的所有进程 pid=-1 将信号广播传送给系统内所有的进程 pid<0 将信号传给进程组识别码为pid绝对值的所有进程 参 阅读全文

posted @ 2012-08-09 17:23 angelpan1014 阅读(365) 评论(0) 推荐(1) 编辑

IPC总结

摘要: IPC进程间通信(Inter-Process Communication)就是指多个进程之间相互通信,交换信息的方法。Linux IPC基本上都是从Unix平台上继承而来的。主要包括最初的Unix IPC,System V IPC以及基于Socket的IPC。另外,Linux也支持POSIX IPC。System V,BSD,POSIX System V是Unix操作系统最早的商业发行版之一。它最初由AT&T(American Telephone & Telegraph)开发,最早在1983年发布。System V主要发行了4个版本,其中SVR4(System V Releas 阅读全文

posted @ 2012-08-09 11:25 angelpan1014 阅读(371) 评论(0) 推荐(0) 编辑

进程间通讯(IPC)的主要方法及优劣

摘要: 管道/FIFO/共享内存/消息队列/信号1.管道中还有命名管道和非命名管道(即匿名管道)之分,非命名管道(即匿名管道)只能用于父子进程通讯,命名管道可用于非父子进程,命名管道就是FIFO,管道是先进先出的通讯方式2.消息队列是用于两个进程之间的通讯,首先在一个进程中创建一个消息队列,然后再往消息队列中写数据,而另一个进程则从那个消息队列中取数据。需 要注意的是,消息队列是用创建文件的方式建立的,如果一个进程向某个消息队列中写入了数据之后,另一个进程并没有取出数据,即使向消息队列中写数据的进程 已经结束,保存在消息队列中的数据并没有消失,也就是说下次再从这个消息队列读数据的时候,就是上次的数据. 阅读全文

posted @ 2012-08-09 11:00 angelpan1014 阅读(359) 评论(0) 推荐(0) 编辑

shmget() -- 建立共享内存

摘要: shmget()函数的原型:int shemget(key_t key,int size,int shmflag)#include <sys/ipc.h>#include <sys/shm.h>int shmget(key_t key, size_t size, int shmflg); key_t key key标识共享内存的键值: 0/ IPC_PRIVATE 。 当key的取值为IPC_PRIVATE,则函数shmget()将创建一块新的共享内存;如果key的取值为0,而参数shmflg中设置了IPC_PRIVATE这个标志,则同样将创建一块新的共享内存。 在IP 阅读全文

posted @ 2012-08-09 10:52 angelpan1014 阅读(536) 评论(0) 推荐(0) 编辑

导航