当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 15 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 父shell和子shell之间怎么通信?
帖子发表于 : 2008-08-16 18:19 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
RT

怎么把子shell的输出传回到父shell?

ps:不要说读文件 :twisted:


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-08-16 18:22 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
文件,管道,socket,共享内存。。。


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-08-16 18:31 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
BigSnake.NET 写道:
文件,管道,socket,共享内存。。。
大蛇,麻烦举个例子嘛 :lol:


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-08-16 18:46 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
没看到 shell 。。

shell的话不清楚了


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-08-16 18:52 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
最傻的就用文件嘛~
如果要传递的信息就是几个小数字,还可以用kill信号.


_________________
关注我的blog: ε==3


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-08-16 19:04 
头像

注册: 2007-12-31 14:57
帖子: 1097
送出感谢: 0 次
接收感谢: 1
变量不行么?


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-08-16 19:30 

注册: 2007-05-13 15:20
帖子: 333
送出感谢: 0 次
接收感谢: 0 次
PIPE=/tmp/test.pipe

mkfifo $PIPE

echo "just a test" > $PIPE  #如果不在后面用&, 进程就动在一直等其它进程读$PIPE

cat $PIPE #读取信息


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-08-16 20:00 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
chasye 写道:
PIPE=/tmp/test.pipe

mkfifo $PIPE

echo "just a test" > $PIPE  #如果不在后面用&, 进程就动在一直等其它进程读$PIPE

cat $PIPE #读取信息
我用过这个,我是想弄一个计时器,想随时的取得时间
代码:
timer()
{
   [ -e /tmp/fifo ] || mkfifo /tmp/fifo
   while :;do
      printf '%.2d:%.2d' $(($i/60)) $(($i%60));i=$((i+1))
      sleep 1
   done > /tmp/fifo
}
i=0
timer &
cat /tmp/fifo
,用这种方法的话一旦cat终止了,那么计时也就终止了啊


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-08-16 20:16 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
> /tmp/fifo 放到 printf 那行


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-08-16 20:30 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
BigSnake.NET 写道:
> /tmp/fifo 放到 printf 那行
不行,这样的话它时间是cat一次才变一次,不cat就不变


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-08-16 20:34 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
xiooli 写道:
BigSnake.NET 写道:
> /tmp/fifo 放到 printf 那行
不行,这样的话它时间是cat一次才变一次,不cat就不变

每秒cat一次。。

管道就是这样的,必须两边都有东西才会工作
前面关了就会eof,后面关了就会broken pipe


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-08-16 20:43 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
BigSnake.NET 写道:
xiooli 写道:
BigSnake.NET 写道:
> /tmp/fifo 放到 printf 那行
不行,这样的话它时间是cat一次才变一次,不cat就不变

每秒cat一次。。

管道就是这样的,必须两边都有东西才会工作
前面关了就会eof,后面关了就会broken pipe
晕乎,这样的话我就用另一种方法了。谢谢大家的解答哦 :lol:


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-08-16 22:22 

注册: 2007-05-13 15:20
帖子: 333
送出感谢: 0 次
接收感谢: 0 次
这样不如用信号

用trap捕捉,kill 发送

进程1,先把信息写入一文件
然后向进程2,发信号

进程2,收到信号,读取方件信息

基本就这样,把信息传来传去


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-08-16 22:33 
头像

注册: 2006-02-28 3:11
帖子: 2470
送出感谢: 0 次
接收感谢: 0 次
chasye 写道:
这样不如用信号

用trap捕捉,kill 发送

进程1,先把信息写入一文件
然后向进程2,发信号

进程2,收到信号,读取方件信息

基本就这样,把信息传来传去


lz说了, 不用写文件的方法


_________________
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-08-18 22:02 
头像

注册: 2007-05-20 18:44
帖子: 438
地址: 唐山,河北,中国
送出感谢: 0 次
接收感谢: 1
export行不行?


_________________
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……
代码:
while :
do
  work_hard
done


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 15 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译