求教vi打开一个fifo怎么把我的shell也弄死了??

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
JOCK12345
帖子: 1
注册时间: 2011-12-20 15:33

求教vi打开一个fifo怎么把我的shell也弄死了??

#1

帖子 JOCK12345 » 2011-12-20 15:35

用mkfifo创建了一个FIFO文件,因为FIFO跟没有命名的PIPE不是一样的,它在文件系统中存在,在好奇心的驱使下,我用vi打开了一个FIFO,结果不能输入任何字符,而且导致我回到shell后也彻底挂掉了。。。。。shell也不能输入命令了。。。。。我想知道的是,难道是因为我用vi打开一个FIFO文件的时候,vi在open这个FIFO文件时,结果由于没有进程去write,导致vi阻塞在哪里了吗??
我使用的是窗口界面下打开的终端,在菜单栏 Terminal里有一项reset,在进入vi之后,我选了reset之后,可以回到shell的界面,但是不能输入,而且不能按ctrl + c结束,这是为什么啊??
shell在调用命令的时候,如果不选择后台执行的话,会把自己阻塞了,但是为什么我按ctrl + c也不能使其结束啊??
难道是在vi在open那个FIFO的时候,会屏蔽掉我的退出信号??还是因为vi在被阻塞后,就不会接受退出信号啊??
回复