免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9518 | 回复: 15
打印 上一主题 下一主题

脚本进程的通信 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-26 11:05 |只看该作者 |倒序浏览
5可用积分
分不多,请教两个问题,请赐教

1. 两个脚本进程通信,除了使用信号外,还可以使用哪些通信方式?

2. 如果使用kill 和 trap进行通信,有没有办法传递参数? 另外信号的接送方,怎么知道是哪个进程向它发了信号(能否得到发送方的PID)?

最佳答案

查看完整内容

用命名管道

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2008-05-26 11:05 |只看该作者
用命名管道

论坛徽章:
0
3 [报告]
发表于 2008-05-26 17:19 |只看该作者
我的问题太呆了?

论坛徽章:
0
4 [报告]
发表于 2008-05-26 19:27 |只看该作者
写具体点OK,看不太明白你要怎么做?

怎么知道是哪个进程向它发了信号(能否得到发送方的PID)?    发送时记录下本身PID不就行了.

论坛徽章:
0
5 [报告]
发表于 2008-05-26 20:45 |只看该作者

回复 #3 linux_paly 的帖子

不好意思,没说清楚

上次看到网上有shell脚本写的俄罗斯方块,我想改成单机双人堆对战版的
我的想法是:
父进程,负责接受两个用户的输入按键(父进程ppid),同时负责信号的传递
开两个子进程,来负责显示,数据处理(假设两个子进程为cpid1, cpid2)
现在,比如现在某一子进程,向父进程发送一个信号,对于父进程来说,它收到信号,那它怎么确定是哪个子进程发给它的呢?同时,如果子进程还有一个参数想传递给父进程,那这个参数应该放在哪里,父进程才好访问呢?

不知道说清楚没有

论坛徽章:
0
6 [报告]
发表于 2008-05-26 20:47 |只看该作者
似乎可以通过文件来传递参数,不过shell脚本里面怎么,对文件进行访问控制呢?

还有其他好的方法吗?

论坛徽章:
0
7 [报告]
发表于 2008-05-26 20:56 |只看该作者
用perl或者python来做吧

论坛徽章:
0
8 [报告]
发表于 2008-05-28 10:35 |只看该作者

回复 #7 waker 的帖子

用命名管道,如果管道中没有东西的时候,读的那一端会阻塞在那里。

有什么方法,可以读端不阻塞吗?谢谢....

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
9 [报告]
发表于 2008-05-28 11:12 |只看该作者

回复 #8 drowsyboy 的帖子

不知道能不能解决你的问题

  1. mkfifo myfifo
  2. exec 3<>myfifo
  3. read -t 3 var <myfifo
复制代码


如果myfifo没有写入的数据,read会等待3秒后退出

论坛徽章:
0
10 [报告]
发表于 2008-05-29 16:23 |只看该作者

回复 #9 waker 的帖子

谢谢老大,虽然还是没有达到想要的效果...

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP