| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2751 人关注过本帖
标题:想了解下程序间如何通讯
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
以下是引用pycansi在2012-7-29 23:59:32的发言:

版主大大,我觉得什么操作系统应该不重要吧.....
坐等上面大牛的翡翠...~
你问的是 进程通信机制 的话呢 和操作系统不相关

你问的是 在某个操作系统之下如何实现进程通信 和操作系统相关

你想知道具体函数 那你查查C的库函数有没有能实现进程通信的呢 貌似有 信号函数? 如果不让你满意 那你就得看具体操作系统之下的实现方法了

如果是windows系统呢 有本书 windows核心编程 里面有讲 好多种哦
2012-07-30 00:18
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:0 
经版主大大这么一说,我发现其实我是想知道 实现方法 的原理,....
今天这么晚了,大家都睡吧,身体是革命的本钱!


莫问前尘有愧,但求今生无悔
2012-07-30 00:29
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:4 
以下是引用pycansi在2012-7-29 22:56:28的发言:

各位大牛,我想了解下
一个程序如何给另一个程序发送消息呢?
不管两个程序在不在同一台电脑上,(不在同一台电脑上可把文件读写在服务器上)都可以使用定时写文件、读文件的方法来进行通信,通过读取文件的内容,来预设好另一个程序来做什么。

下面是我用VB写好的示例程序,可以看一下是不是你想要的效果。
请在同一台电脑上运行这两个程序。
控制程序.zip (7.46 KB)

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-07-30 07:29
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:1 
楼主去百度一下 进程间通信 就能听说到常用的那些通信方法了。不同的方法有功能强弱程度不同,代价也不同。
2012-07-30 09:22
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:0 
13楼的童鞋说的好阿,可以通过读写文件来控制,恩,谢谢你的附件!可是我不懂VB.......


莫问前尘有愧,但求今生无悔
2012-07-30 10:13
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:0 
唉,真是笨死了,上面都提到剪切板了,还没想到文件.......
想想,程序是怎么向硬盘中写入数据的呢?我去百度下


莫问前尘有愧,但求今生无悔
2012-07-30 10:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
嗯,继续思考。

授人以渔,不授人以鱼。
2012-07-30 11:00
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:0 
唉,百度无果阿,可能是用汇编的吧,我还是先去了解下汇编吧


莫问前尘有愧,但求今生无悔
2012-07-30 11:05
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
就像楼上版主所说进程间通信有各种方法,各种强度了

Unix机器上提供的最基本的几个方法就是

神马Pipes, FIFO,神马Semaphores,Messages之类了

我能想到的,自己每天都实实在在能感觉到的就是Pipes(管道)

为什么要用管道,先在不用管道的情况下,看看下面的命令
$ ls > tmp
$ less < tmp

再看一下用了管道

shell 来fork了两个进程,shell并且发出命令(|),让内核搞一个管道出来方便两个进程间数
据的传输
$ ls | less

第一个选择了ls的输出重定向到tmp文件中,less再从tmp读取

很明显管道让世界变的简单了

一边输出数据之后送到管道中另一边直接从管道中拿出数据

虽然一句话就能说完,但要引深下去的话,感觉会很有意思哈

大学CS的课里面,老师应该会有写简单的shell的作業,那就是

一个自己动手实现pipes的好的练习吧。至于pipes在内核里到底

是怎么实现......

当然我只说了的管道,大家补充哈

终于升到月亮加星星了 O ye!

[ 本帖最后由 madfrogme 于 2012-7-30 12:10 编辑 ]

The quieter you become, the more you can hear
2012-07-30 11:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
使用什么手段,是由需要交换什么数据和达到什么目的来决定的。

授人以渔,不授人以鱼。
2012-07-30 11:09
快速回复:想了解下程序间如何通讯
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029777 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved