UNIX环境下如何应用消息队列实现进程间通信

UNIX环境下如何应用消息队列实现进程间通信

ID:37583701

大小:200.55 KB

页数:28页

时间:2019-05-25

UNIX环境下如何应用消息队列实现进程间通信_第1页
UNIX环境下如何应用消息队列实现进程间通信_第2页
UNIX环境下如何应用消息队列实现进程间通信_第3页
UNIX环境下如何应用消息队列实现进程间通信_第4页
UNIX环境下如何应用消息队列实现进程间通信_第5页
资源描述:

《UNIX环境下如何应用消息队列实现进程间通信》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、[永远的UNIX>UNIX环境下如何应用消息队列实现进程间通信]_LyGroup开...页码,1/28热烈祝贺考试168网(www.exam168.com)结盟中国公司网(www.GongSiWang.com)免费格子系统创业管理学院嵌入式自动化编程/软件工程爱国教育学院考试资料下载做调查免费获iPod经典手机非凡音乐体验值得信赖的笔记本品牌私人珍藏-每位参加安全调查用户将有索尼爱立信音乐手机,让优质优价,竭诚服务戴明星写真,机会免费获得iPod你和音乐一起飞翔尔笔记本等你拿网络电子杂栏目导职业财富:『个人简历』※『管理资料』※创业技巧集毕业论文航:论文:教育教学论文

2、各种日常论文下载各种考试技术:控制系统PLC技术机器人爱好者嵌入式系统计算机技术技能:英语学习健康人生社会万象娱乐休闲读万卷书爱我中华Flash-视频-休闲中国公司网创业成功的摇篮精确搜标题所有栏目请输入关键字索:您的位置:首页->计算机技术->IT新技术->[永远的UNIX>UNIX环境下如何应用消息队列实现进程间通信]上一篇:[永远的UNIX>UNIX环境下如何⋯下一篇:[永远的UNIX>编写关于SendM⋯[永远的UNIX>UNIX环境下如何应用消息队列实现进程间⋯作者未知摘自未知发表2005-12-190:14:55人气189视力保护色[永远的UNIX::UN

3、IX技术资料的宝库]首页>编程技术>其它>正文UNIX系统的文件信号灯机制本文出自:作者:(2001-07-0619:00:01)---作为一个多用户、多任务的操作系统,UNIX允许某个程序同时运行多个进程。但有资源等因素的制约,要求一次只能有一个进程在运行。例如在DigitalUNIX下运行第二时,系统报告如下错误信息:----Netscapehasdetecteda/.netscape/lockfile.----ThismayindicatethatanotheruserisrunningNetscapeusingyour/.netscapefiles.----实

4、际上,第一个Netscape进程在运行时,加了一把锁,禁止其他Netscape进程启动。当锁打开,其他进程才能进入。这就是UNIX的信号灯机制。----而Netscape是用文件作为信号灯的。在运行前,先检查文件/.netscape/lock是否存在:锁已挂上,新进程不能运行,只好等待;若没有,说明锁已打开,可以运行了。----在掌握了文件信号灯的机理后,可以自行设计一套万能加锁解锁程序,为每个的锁和钥匙。并且使用零字节长度的文件当锁,减少系统开销。----我们用creat和unlink两个系统调用实现加解锁和检测操作。一个进程运行之前,先锁文件是否存在注1。unli

5、nk系统调用从一个目录中删去一个文件链,若成功则返回0,存在;若失败,表明文件不存在,返回-1。如果还没有上锁,就要用creat系统调用创建已挂上,虽然进程并未运行,但unlink无疑会删除锁文件,所以也要用creat来恢复。crhttp://www.exam168.com/chinese/Article.asp?articleid=480532006-5-30[永远的UNIX>UNIX环境下如何应用消息队列实现进程间通信]_LyGroup开...页码,2/28建一个新文件,函数标题如下:intcreat(path,perms)/*createfile*/char*p

6、ath;/*pathname*/intperms;/*permissionbits*/----其中path表示路径加文件名,perms是10位的文件权限描述字,在加锁程序中取0。文时,初始长度为零字节,用它来做锁文件,可以最大限度地降低系统开销。----锁文件规定为:源文件名+“.lok”。这样一来,就真正做到了一个程序配一把锁。----下面就列出加锁和解锁的程序清单。我们用同样的程序完成这两种完全互斥的于命令名的不同。在C语言源程序里,变量argv[0]表示命令名,“lockf”是上锁,“unlockf程序LOCKF.C暨UNLOCKF.C的源代码#include<

7、stdio.h>#include#include#includevoidsyserr(msg)/*打印系统调用错误信息并中止*/char*msg;{externinterrno,sys_nerr;externchar*sys_errlist[];fprintf(stderr,"ERROR:%s(%d",msg,errno);if(errno>0&&errno

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。